Vcl.Forms.TCustomForm.PopupMode

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

property PopupMode: TPopupMode read FPopupMode write SetPopupMode default pmNone;

C++

__property TPopupMode PopupMode = {read=FPopupMode, write=SetPopupMode, default=0};

プロパティ

種類 可視性 ソース ユニット
property public
Vcl.Forms.pas
Vcl.Forms.hpp
Vcl.Forms TCustomForm


説明

最上位のフォームがウィンドウの WS_POPUP スタイルに対してどう動作するかを制御します。

PopupMode プロパティでは、最上位のフォームがウィンドウの WS_POPUP スタイルに対してどう動作するかを制御します。 WS_POPUP スタイルを持つウィンドウは、Z オーダーにおける自分の「所有者」の常に上にきます。PopupMode プロパティを PopupParent プロパティと合わせて使用して、画面上で、別のフォームの後ろに表示されてしまったモーダル ダイアログによって、アプリケーションがハングしてしまうのを避けることができます。

メモ: PopupMode プロパティの使用は、fsStayOnTopFormStyle プロパティに対して指定することと同じですが、レイヤー操作をより制御することができます。

PopupMode プロパティは、ShowModal メソッドが呼び出された際に、自動的に pmAuto に設定されます。しかしながら、これはウィンドウ ハンドルを再度作成してしまうため、あまり望ましいことではありません。ウィンドウ ハンドルの再作成を避けるには、ShowModal メソッドを呼び出す前(設計時など)に、明示的に PopupMode プロパティを pmAuto に設定する必要があります。

ツール パレットや浮動表示されているツール ウィンドウなどの非モーダル設計ウィンドウでは、PopupMode プロパティを pmExplicit に設定します。 その結果、ウィンドウは常にメイン フォームの上に表示されたままになります。 スナップ付けされたデザインの場合(ウィンドウがメイン フォームにドッキングされているような場合)、設計ウィンドウは、デザイナの一番上に留まります。

メモ: ドッキングされていないウィンドウの場合、設計ウィンドウは、メイン フォームの上に留まり、他のトップレベルのフォームが設計ウィンドウを覆うのを許します。

ポップアップ ウィンドウに Delphi 8 より前の動作をさせたい場合は、PopupMode プロパティを pmNone に設定します(上記で言及したような ShowModal の項目以外の場合)。

PopupParent プロパティを明示的に TCustomForm に設定することにより、フォームの Z オーダーを強制して、ユーザーが変更できない「重なった」外観を作成することができます。PopupMode プロパティが pmExplicitPopupParent が nil だった場合、Application.MainForm が暗黙的に PopupParent によって使用されます。Application.MainForm が割り当てられていない場合、Application.Handle が PopupParent として使用されます。PopupMode プロパティが pmAuto に設定されている場合、Screen.ActiveForm が PopupParent として使用されます。