आपकी मदद की ज़रूरत है (मैं खोज पर फंस गया हूं)। मैं डेल्फी सिएटल पर हूं, मेरे फॉर्म के चिकनी आकार बदलने की कोशिश कर रहा हूं। मेरे मामले में "आकार बदलने" बस थोड़ी पतन है/इस तरह का विस्तार:डेल्फी: चिकनी पतन/विस्तृत फॉर्म
मैं ऐसा कैसे एहसास कर सकते हैं?
मैं उपयोग एक TTimer की कोशिश की है:
procedure TForm1.Timer1Timer(Sender: TObject);
var
h, t: integer;
begin
t := Button10.Top + Button10.Height + 10; //slide TForm from/to this point
if t > h then
begin
h := h + 1;
Form1.Height := h;
end
else
begin
Timer1.Enabled := false;
end;
end;
... लेकिन यह है बहुत ही सरल (कोई त्वरण/मंदी) लग रहा है और यहां तक कि छोटे अंतराल के साथ धीमी गति से काम करता है।
स्थानीय चर ('h' और' t' की तरह) कॉल के बीच लगातार नहीं हैं (टाइमर ईवेंट यहाँ) वे ढेर पर आवंटित और जब अस्तित्व के लिए प्रक्रिया रास्ते को जब्त कर रहे हैं। बार-बार कॉल पर आप भाग्यशाली हो सकते हैं और उसी स्मृति का पुन: उपयोग किया जाता है, लेकिन इस पर भरोसा करना गलत है। टीटीमर रिज़ॉल्यूशन 10ms - 15ms है, इसके बावजूद आप इसे 1ms तक सेट कर सकते हैं। यह संदेश आधारित है और टाइमर संदेश कम प्राथमिकता वाला है। अधिक सटीक और अधिक प्रदर्शन करने वाले टाइमर के लिए एक winapi मल्टीमीडिया टाइमर का उपयोग करें। अंत में, सरल कोड सरल दिख सकता है, आप इसे त्वरण/मंदी दिखाने की उम्मीद क्यों करते हैं? –