如何在迴圈內偵測使用者取消 |
答題得分者是:cmf
|
will
中階會員 發表:176 回覆:135 積分:62 註冊:2002-04-14 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
procedure TForm1.FormCreate(Sender: TObject);
begin
Stop.Enabled:= FALSE ;
Start.Enabled:= TRUE; end; procedure TForm1.StartClick(Sender: TObject);
begin
Stop.Enabled:= TRUE;
Start.Enabled:= FALSE; while true do
begin
application.ProcessMessages;
if Stop.Enabled= FALSE then break;
end; Stop.Enabled:= FALSE ;
Start.Enabled:= TRUE; end; procedure TForm1.StopClick(Sender: TObject);
begin Stop.Enabled:= FALSE; end;
------
︿︿ |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
試看看把這一段程式加到你的Loop if (GetAsyncKeyState(VK_ESCAPE) <> 0) or (GetAsyncKeyState(VK_CANCEL) <> 0) then // escape key or ctrl Break key
if MessageDlg('要停止執行嗎?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then Break; 發表人 - 懷舊的人 於 2003/03/10 11:36:55
|
will
中階會員 發表:176 回覆:135 積分:62 註冊:2002-04-14 發送簡訊給我 |
請問application.ProcessMessages;的用意是什麼?
引言: procedure TForm1.FormCreate(Sender: TObject); begin Stop.Enabled:= FALSE ; Start.Enabled:= TRUE; end; procedure TForm1.StartClick(Sender: TObject); begin Stop.Enabled:= TRUE; Start.Enabled:= FALSE; while true do begin application.ProcessMessages; if Stop.Enabled= FALSE then break; end; Stop.Enabled:= FALSE ; Start.Enabled:= TRUE; end; procedure TForm1.StopClick(Sender: TObject); begin Stop.Enabled:= FALSE; end; |
will
中階會員 發表:176 回覆:135 積分:62 註冊:2002-04-14 發送簡訊給我 |
謝謝
但有時侯可以 有時候會失效
引言: 試看看把這一段程式加到你的Loop if (GetAsyncKeyState(VK_ESCAPE) <> 0) or (GetAsyncKeyState(VK_CANCEL) <> 0) then // escape key or ctrl Break key if MessageDlg('要停止執行嗎?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then Break; 發表人 - 懷舊的人 於 2003/03/10 11:36:55 |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |