掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Enterを押す方法 (ID:21943)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どこで拾ってきたのか、自分で作ったのか、忘れましたが、 2年前日付のユニットからみつけだしたコードの一部抜粋。 動作していますし、特別怪しいコードもなさそう・・・。 一応、ダイアログが最前面でなくても大丈夫です。 type TForm1=class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); public procedure HogeHoge(Sender: TObject); end; procedure TForm1.Button1Click(Sender: TObject); var dlg: TForm; timer: TTimer; begin //ダイアログ準備 dlg := CreateMessageDialog('適当なメッセージ', mtCustom, [mbOK]); try //dlg.Caption := 適当なCaption; dlg.Position := poScreenCenter; //自動で閉じるタイマー準備 //オーナーがダイアログなので、破棄はおまかせにする timer := TTimer.Create(dlg); timer.Interval := 5000; //5秒 //イベント割り当て timer.OnTimer := HogeHoge; //メッセージダイアログのアドレスを強引に数値化 timer.Tag := Integer(Pointer(dlg)); //タイマー開始 timer.Enabled := True; //ダイアログ表示 dlg.ShowModal; finally //破棄 dlg.Free; end; end; procedure TForm1.HogeHoge(Sender: TObject); begin if (Sender is TTimer) and (TTimer(Sender).Tag > 0) then begin TForm(Pointer(TTimer(Sender).Tag)).ModalResult := mrOK; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.