>>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■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国 アメリカからの全ての輸入品に34%の関税課すと発表 トランプ政権の相互関税へ報復措置 ★3 [Hitzeschleier★]
- 【速報】 1ドル=144円 [お断り★]
- 長野智子 フジテレビ報告書で〝誤報〟判明「文春は謝罪するべき」…女性アナF氏を「3悪人」扱い [ぐれ★]
- 【宗教】日本、仏教国で仏教離れ最多 信者の4割、現在「無宗教」 米研究所調査 ★2 [樽悶★]
- 注文した料理が来ないまま45分経過 → 食べてないのに「席を空けて」と店員に退店を促されて激怒、トラブルになった男性 [パンナ・コッタ★]
- トランプ米大統領「私の方針は決して変わらない」 [Hitzeschleier★]
- スリコに2000円台のカメラが登場 「写ルンです」が凄まじい値上げしたし、もうこれでいいだろ [303493227]
- トランプさん「関税の次は金融だ、ドルの供給を停止してAppleペイやクレカ決済を凍結する」 [709039863]
- ▶ねねちの金玉キラキラ金曜日✨🍑✨
- トランプ「コメの関税を撤廃しろ」、日本政府「断る」 [249548894]
- きゃーのび太さんの
- 「ガリレオ・ガリレイ」👈こいつより語呂の良い人名って無くないか??? [635630381]