Mruganie

DeKoVV
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam na formie button i timer, po nacisnieciu buttona wlacza sie Timer
W On_Timer1 taka procedura:
Form1.height:=Form1.height + 2;
if Form1.Height>=400 then Timer1.enabled:=false; :-)

Wszystko jakby i normalnie ale przy zwiekszeniu sie formy ona bardzo mruga, czy mozna tego uniknac? [???]

Moze jakos trzeba repaint robic, czy cos tam.... [glowa]

  • Rejestracja: dni
  • Ostatnio: dni
0

Spróbuj w OnCreate formy dać:
[code]DoubleBuffered := true[/code]

adf88
  • Rejestracja: dni
  • Ostatnio: dni
0

po prostu forma nie zdąża sie rysować. Możesz również zwiekszyć interval timera i inkrementacje rozmiaru.

zoltek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 41
0

a ja ostatnio zrobilem cos takiego bez timera.. i nie mruga u mnie..:

Kopiuj
procedure TForm1.FormActivate(Sender: TObject);
var i:byte;
begin
for i:=0 to 80 do
begin
Form1.Top:=3*i;
Form1.Left:=3*i;
Form1.Height:=3*i;
Form1.Width:=5*i;
end;
end;

:) ale pewnie dlatego ze mnoze i razy 3.. :) :P

adf88
  • Rejestracja: dni
  • Ostatnio: dni
0

Można wrzucić jeszcze w pętelke, czy do timera ProcessMessages i wszystko bedzie ok. Jednak lepiej chyba uzyć timera, wtedy szybkość animacji będzie mniej zależna od szybkości komputera na którym działa prog.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.