>>381
フラグを使うだけだと MessageBox を表示した瞬間にダイアログ側で ESC キー押下イベントが処理されてすぐ閉じられてしまう。
MessageBox を表示する直前に Application.ProcessMessages を呼んで未処理のキーイベントをすべて消化しておくと期待通りに動作する。
Application.ProcessMessages を呼ぶと UI の全てが操作可能になるので事前に Form の Enabled を False する等しておく必要がある。
procedure TForm1.Button1Click(Sender: TObject);
var
Flag: Boolean;
begin
Enabled := False;
try
Flag := False;
while True do
begin
if GetAsyncKeyState(VK_ESCAPE) and $8000 <> 0 then
begin
Application.ProcessMessages;
if not Flag then
begin
// ESC キーが押された
if MessageDlg('中止しますか?', mtConfirmation, mbOkCancel, 0) = mrOk then
Exit;
end;
Flag := True;
end else
Flag := False;
end;
finally
Enabled := True;
end;
end;
くだすれDelphi(超初心者用)その59【Embarcadero】
■ このスレッドは過去ログ倉庫に格納されています
382デフォルトの名無しさん
2022/04/02(土) 00:32:29.84ID:hGTjsl3r■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★4 [煮卵★]
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★10 [ぐれ★]
- 【高市速報】ユーロ円180円突破。史上初 [931948549]
- ネトウヨ、収監されてるお母様こと韓鶴子のことはもう忘れた模様 [343591364]
- 高市コイン、155円突破wwwwwwwwww [246620176]
- 杉浦綾乃板って改名したほうがいいよな
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
- おじゃる丸をまったり待機するスレ🏡
