こんにちは
セブンオブナインです。
細川さんからProgressBar.StyleのMarqueeという使い方を聞いたので、サンプルコードを作ってみました。
Marqueeとすると、プログレスの移動が複数回周回するのですね。
以下はサンプルコードです。
-------
procedure TForm1.Button1Click(Sender: TObject);
var
mi:integer;
ni:integer;
begin
ProgressBar1.Visible := true;
ProgressBar1.Style := pbstMarquee;
// loop1
for mi := 0 to 9 do begin
Sleep(1000);
Application.ProcessMessages;
end;
// loop2
for mi := 0 to 9 do begin
for ni := 0 to 10 do begin
Sleep(100);
Application.ProcessMessages;
end;
end;
ProgressBar1.Style := pbstNormal;
ProgressBar1.Visible := false;
ShowMessage('Fin');
end;
end.
------
loop1ではプログレスがわずかしか変わらず、loop2のようにすることで、なめらかに複数回周回するようになりました。
一般的に、Marqueeを使う場合は、Application.ProcessMessageとSleep()の組み合わせを短い周期で頻繁にコールするものでしょうか?
MLホームページ:
http://www.freeml.com/delphi-users
----------------------------------------------------------------------
【注目資格】理学療法士の学部がこれから役に立つ!大学選び
ランキングシェア10選 ランキングシェア byGMO
http://ad.freeml.com/cgi-bin/sa.cgi?id=kBKn4
------------------------------------------------------[freeml byGMO]--