如何設計ProgressBar |
尚未結案
|
ivankuo
中階會員 發表:132 回覆:272 積分:95 註冊:2002-11-21 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
ivankuo
中階會員 發表:132 回覆:272 積分:95 註冊:2002-11-21 發送簡訊給我 |
引言: 你可以參考這篇: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29234前輩:由此文章中若要用ProgressBar要取得Max值的時候,query必須已經抓取到資料,這樣ProgressBar顯示的狀態就會不準,小弟看到ADOQuery的下列Event 範例中,感覺好像可以用此Event來解決此問題,但是我是不出效果耶~~~也不知他是何時觸發的Event?? procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus); begin Caption:='Percent complete: '+ IntToStr(Trunc(Progress / MaxProgress * 100)) + '%'; Application.ProcessMessages; end;
------
ivankuo |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
ivankuo
中階會員 發表:132 回覆:272 積分:95 註冊:2002-11-21 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
試試 :
procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress, MaxProgress: Integer; var EventStatus: TEventStatus); begin ProgressBar1.Position := trunc(Progress/MaxProgress*ProgressBar1.Max); Application.ProcessMessages; end; procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery1.ExecuteOptions := [eoAsyncExecute,eoAsyncFetch]; DataSetProvider1.DataSet := ADOQuery1; ClientDataSet1.ProviderName := 'DataSetProvider1'; ClientDataSet1.Open; ProgressBar1.Position := ProgressBar1.Max; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |