Vcl.Forms.TCustomForm.PopupMode
Delphi
property PopupMode: TPopupMode read FPopupMode write SetPopupMode default pmNone;
C++
__property TPopupMode PopupMode = {read=FPopupMode, write=SetPopupMode, default=0};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | public | Vcl.Forms.pas Vcl.Forms.hpp |
Vcl.Forms | TCustomForm |
Description
Contrôle comment la fiche de niveau supérieur se comporte par rapport au style WS_POPUP de la fenêtre.
La propriété PopupMode contrôle comment la fiche de niveau supérieur se comporte par rapport au style WS_POPUP de la fenêtre. Une fenêtre avec le style WS_POPUP doit toujours être au-dessus de son propriétaire dans l'ordre Z. Vous pouvez utiliser la propriété PopupMode avec PopupParent pour éviter l'apparence d'une application plantée due à une boîte de dialogue modale qui s'affiche derrière une autre fiche de l'écran.
Remarque : Utiliser la propriété PopupMode revient à spécifier
fsStayOnTop
pour la propriété FormStyle, mais cela confère un meilleur contrôle sur l'organisation en courches.
La propriété PopupMode est automatiquement définie sur pmAuto
quand la méthode ShowModal est appelée. En revanche, cela provoque la recréation du handle de fenêtre, ce qui n'est pas toujours souhaitable. Pour éviter la recréation des handles de fenêtre, vous pouvez explicitement définir la propriété PopupMode sur pmAuto
avant d'appeler la méthode ShowModal (par exemple, à la conception).
Définissez la propriété PopupMode sur pmExplicit
pour les fenêtres de conception non modales comme les palettes d'outils et les autres fenêtres d'outils flottantes. Ainsi, les fenêtres restent toujours au-dessus de la fiche supérieure. Lorsque l'éditeur est ancré à la fenêtre principale, la fenêtre de conception restera alors au-dessus du concepteur.
Remarque : Pour les fenêtres non ancrées, la fenêtre de conception reste au-dessus de la fiche principale, permettant à d'autres fiches de niveau supérieur de masquer la fenêtre de conception.
Définissez la propriété PopupMode sur pmNone
si vous voulez que la fenêtre contextuelle ait le comportement des applications avant Delphi 8 (à l'exception de l'élément ShowModal mentionné ci-dessus).
Vous pouvez imposer l'ordre Z de vos fiches et créer une apparence "empilée" que l'utilisateur ne peut pas modifier en définissant la propriété PopupParent sur un objet TCustomForm explicite. Si la propriété PopupMode a la valeur pmExplicit
et PopupParent vaut nil, Application.MainForm est alors implicitement utilisée en tant que PopupParent. Si aucune Application.MainForm n'est attribuée, Application.Handle est utilisé en tant que PopupParent. Si la propriété PopupMode est définie sur pmAuto
, Screen.ActiveForm est utilisé en tant que PopupParent.