Delphi XE2 を使用して、いくつかのボタンを Delphi アプリケーションで動かしたいと考えていました。
私はこのコードを書きました:
procedure TForm1.DoSomething;
var x : integer;
begin
for x := 200 downto 139 do begin
// move two buttons
Button1.Top := x;
Button3.Top := x;
// skip some repaints to reduce flickering
if (x mod 7 = 1) then begin
Form1.Repaint;
Sleep(50);
end;
end;
残念ながら、この手順を実行すると、まだかなりちらつきます。
これが私の質問です。アニメーションをスムーズにする方法はありますか (ちらつきなし)?
編集: アニメーションをよりスムーズにするには、sleep(50) で 50 を小さい値に変更し、次の行を削除します。
if(x mod 7 = 1) then begin