線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1187
推到 Plurk!
推到 Facebook!

關於 Prograsssbar 的問題??

尚未結案
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-18 17:39:38 IP:140.124.xxx.xxx 未訂閱
請問一下喔~~ 我寫一個函數 此函數 會執行蠻久的~~ 我想要再此函數 執行的過程中 使用Prograsssbar 還顯示進度~~ 請問 要如何將Prograsssbar加進去???
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-19 09:42:37 IP:203.73.xxx.xxx 未訂閱
引言: 請問一下喔~~ 我寫一個函數 此函數 會執行蠻久的~~ 我想要再此函數 執行的過程中 使用Prograsssbar 還顯示進度~~ 請問 要如何將Prograsssbar加進去???
danielkelly 你好:
(1)假設你要執行的函式在 Form1
(2)在 BCB 裡面按「File/New/Form」新增一個 Form2
(3)在 Form2 上拉一個 ProgressBar 或 CGauge 元件 (以下以 CGauge 為例)
(4)在 BCB 裡面按「Project/Options/Forms」確認 Form1 是 Auto-create
   forms,Form2 是 Available forms
(5)最後在 Form1 要被呼叫的函式內加入以下的範例程式碼
#include "Unit2.h"       Form2=new TForm2(this);
   Form2->Show();
   for(int i=0; i<100; i++)
   {
      Form2->CGauge1->Progress=i+1;
      Sleep(10);
      Application->ProcessMessages();
   }
   delete Form2;
(6)請再依照自己的需求,自行修改
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-06 15:07:02 IP:140.124.xxx.xxx 未訂閱
對不起 沒注意到~~ 這麼久才回應~ 請問一下 以下這起行是什麼意思呢??
Application->ProcessMessages(); 
謝謝喔~~
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-08 21:12:21 IP:211.162.xxx.xxx 未訂閱
插個花: Application->ProcessMessages(); 如果您運行一個非常耗時的迴圈,那麽在這個迴圈結束前,你的程式可能不會回應任何事件,你按按鈕沒有反應,程式設置無法繪製表單,看上去就如同死了一樣,這有時不是很方便,例如於終止迴圈的機會都沒有了。這時你就可以在迴圈中加上這麽一句,每次程式運行到這句時,程式就會讓系統回應一下消息,從而使你有機會按按鈕,表單有機會繪製。 < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
系統時間:2024-07-06 22:37:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!