掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メッセージダイアロクを表示したまま処理を続けるには? (ID:9597)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
新規で Form1 に Label1 と Button1 を置いて以下のようにして試してください。 type TForm1 = class(TForm) Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private StartFlag:Boolean; public procedure WMApp(var Msg:TMessage);message WM_APP; procedure CancelClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.DFM} { TForm1 } procedure TForm1.WMApp(var Msg: TMessage); var i:integer; begin for i := 0 to Screen.ActiveForm.ControlCount-1 do if Screen.ActiveForm.Controls[i] is TButton then TButton(Screen.ActiveForm.Controls[i]).OnClick := CancelClick; i := 0; while StartFlag do begin Label1.Caption := IntToStr(i); Inc(i); Application.ProcessMessages; Sleep(1); end; end; procedure TForm1.Button1Click(Sender: TObject); begin PostMessage(Handle,WM_APP,0,0); StartFlag := true; MessageDlg('キャンセル',mtConfirmation,[mbCancel],0); end; procedure TForm1.CancelClick(Sender: TObject); begin StartFlag := false; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.