如何清除Memo裡面的值和改變Label的Caption? |
答題得分者是:tomoi
|
skybow
一般會員 發表:10 回覆:10 積分:4 註冊:2004-04-30 發送簡訊給我 |
小弟在BCB寫了個簡單測試程式,有兩個Button,一個Memo,一個Label
我希望按下Button1之後,會依序展現三個效果: 1. 改變Label的Caption,停一秒 2. 清除Memo裡所有的資料,停一秒 3. 在Memo中寫入新資料。 兩個Button的程式碼如下: [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { Label1->Caption="PHASE A"; Sleep(1000); Memo1->Clear(); Sleep(1000); for(int j=0;j<50;j ) { Memo1->Lines->Append(j); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Label1->Caption="PHASE B"; Sleep(1000); Memo1->Clear(); Sleep(1000); for(int j=0;j<100;j ) { Memo1->Lines->Append(j); } } //--------------------------------------------------------------------------- [/code] 奇怪的是,我明明依照順序寫, 可是呈現的效果卻變成: 1. 停兩秒,什麼也沒發生 2. Label的Caption瞬間改變、Memo瞬間填入新資料,一氣呵成!! 完全看不到Memo清除後,停止一秒才輸入新資料的效果。 請問要在一個按鈕內完成這樣順序的動作,要修改何處呢? 謝謝! (附件為程式執行畫面)
附加檔案:48a2f58d3a9da_QQ.jpg
|
tomoi
初階會員 發表:2 回覆:30 積分:41 註冊:2008-07-14 發送簡訊給我 |
|
skybow
一般會員 發表:10 回覆:10 積分:4 註冊:2004-04-30 發送簡訊給我 |
成功了! 順便補充我查到的函數定義: Call ProcessMessages to permit the application to process events that are currently in the queue. 再次感謝! ===================引 用 tomoi 文 章=================== 在Sleep(1000)之前 加上這行 Application->ProcessMessages(); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |