記事カテゴリ

ユーザー機能


 2024年4月20日(土) 02:50 JST

[Delphi] フォームの OnCreate イベントや OnShow イベント中にクローズさせる

  • 投稿者:
  • 表示回数
    10,293

フォームの OnCretae イベントや OnShow イベントでは、Close メソッドをコールしても、クローズさせることはできません。
原因は、OnCreate イベントの段階では、まだメッセージループが開始されていないからということのようです。
これらのイベント中で、クローズさせたい場合には、下記のように記述します。

PostMessage(Handle, WM_CLOSE, 0, 0);

こうすることで現在実行中のイベント終了後、クローズしてくれるようになります。
ですから厳密にはイベント中ではありません。でもやりたいことはだいたいできると思います。

ボーランドの公式回答では、raise で処理するとのことです。

□CodeGearのホームページ
http://www.codegear.com/

□CodeGearのサポートページ
http://support.codegear.com/

□CodeGearの旧Delphi FAQサイト
http://support.codegear.com/article/37355

□該当の公式回答 - Form の OnCreate の処理中に中断
http://support.codegear.com/article/37355#37355_tocentry18

トラックバック

このエントリのトラックバックURL:
https://www.blackcat.xyz/trackback.php/ProgramingFAQ_del0038
  • [Delphi] フォームの OnCreate イベントや OnShow イベント中にクローズさせる
  • 0 コメント
  • アカウントの登録

以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。