Jak sprawić, by obrazki podczas przesuwania nie migały, tylko jedną komendą
prabab
Bardzo łatwo. Pod zdarzenie OnCreate formy dopisz:
Form1.DoubleBuffered := true;
Niestety ten sposób nie działa w przypadku czegokolowiek innego niż bitmapa (Canvas itp.) i działa tylko w Delphi 6 i 7.
Delphi, żeby obrazki nie migały [migające obrazki, migający obrazek] - bardzo przydatne gdy uzywa się grafiki, np. rysowanie po Image: np. Image1.Canvas.Draw (x,y, bitmapy[10]);
a nie zwyczajnie po formie: Canvas.Draw (x,y,bitmapy[10]);
nota bene jeśli rysuje się po formie trzeba wszystko powtarzac w OnPaint (patrz. Object Inspector) przy zaslanianiu okna czy minimalizowaniu (bo ŚCIERA rysunek) - co czasami prowadzi do niepokonywalnych trudności - procedura FormPaint jest popieprz...
a rysowane po Imageu nie ściera przy minimalizacji czy zaslanianiu i to jest wielki plus - nigdy nie rysujcie po formie !
Jeżeli masz nazwe formy np. Kalkulator i zawsze przy pisaniu procedury wpisujesz TKalkulator, np. procedure TKalkulator.oblicz to ponizszy przyklad wpisujesz nie
TKalkulator.DoubleBuffered := true;
tylko
Kalkulator.DoubleBuffered := true;
Zeby zapisac trzeba wejsc w Object Inspector, Form1 events, OnCreate i kliknac dwa razy na puste pole obok OnCreate, wtedy wyskoczy pusta procedura FormCreate, gdzie trzeba wpisac kod powyższy
Działa bardzo dobrze ! - Delphi 7 personal
Powiem więcej - to bardzo rzadko działa...
Czasami to nie dziala... :(