Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:cas:docking [18/08/2024 16:10]
thierry [Le Control dockable]
prog:lazarus:cas:docking [18/08/2024 16:38] (Version actuelle)
thierry [GetFloatingDockSiteClass]
Ligne 6: Ligne 6:
     MyControl.DragMode := dmAutomatic;​     MyControl.DragMode := dmAutomatic;​
 </​code>​ </​code>​
-==== GetFloatingDockSiteClass ==== +==== La Fonction "GetFloatingDockSiteClass" ​==== 
-Retourne ​la Form dans lequel sera docké le Control si celui ci est docké nulle part.\\+Renvoie ​la classe pour un site d'​amarrage flottant. 
 + 
 +Une instance de cette classe ​est créée chaque fois qu'un contrôle doit flotter, mais ne peut pas (ou ne doit pas) flotter par lui-même. 
 + 
 +Seuls les TWinControls peuvent flotter à l'​écran (avec Parent=nil),​ mais pas les TControls ordinaires. 
 + 
 +Étant donné que les TForm amarrables ne sont pas pris en charge sur toutes les plateformes,​ un TWinControl amarrable peut nécessiter un hôte flottant qui présente une poignée d'​amarrage à l'​utilisateur (par exemple, une Caption d'​amarrage) 
 La fonction ''​TControl.GetFloatingDockSiteClass''​ retourne une classe de type ''​TCustomDockForm'',​ ce qui signifie qu'​elle renvoie une classe descendante de TCustomForm (ou une de ses dérivées). Cette classe est utilisée pour créer la fenêtre qui hébergera les fenêtres ou contrôles dockés. La fonction ''​TControl.GetFloatingDockSiteClass''​ retourne une classe de type ''​TCustomDockForm'',​ ce qui signifie qu'​elle renvoie une classe descendante de TCustomForm (ou une de ses dérivées). Cette classe est utilisée pour créer la fenêtre qui hébergera les fenêtres ou contrôles dockés.
-=== Personnalisation du Docking ===+=== Personnalisation du Docking ​par Surcharge===
 Si vous souhaitez personnaliser l'​interface de docking dans votre application,​ vous pouvez surcharger ​ ''​TControl.GetFloatingDockSiteClass'' ​ pour qu'​elle retourne une classe spécifique de TCustomForm. Par exemple, vous pourriez vouloir utiliser une classe dérivée de TForm avec des fonctionnalités supplémentaires pour le docking. Si vous souhaitez personnaliser l'​interface de docking dans votre application,​ vous pouvez surcharger ​ ''​TControl.GetFloatingDockSiteClass'' ​ pour qu'​elle retourne une classe spécifique de TCustomForm. Par exemple, vous pourriez vouloir utiliser une classe dérivée de TForm avec des fonctionnalités supplémentaires pour le docking.
 +===== Le DockSite : le Control qui reçois le Control dockable =====
 +==== la fonction "​GetSiteInfo"​ ====
 +<code delphi>
 +TWinControl.GetSiteInfo( ​ Client: TControl; var InfluenceRect:​ TRect; MousePos: TPoint; var CanDock: Boolean); virtual;
 +</​code>​
 +La méthode TWinControl.GetSiteInfo renvoie un rectangle d'​influence (de capture) associé au site d'​amarrage. Cette convention permet, par exemple, de masquer les sites d'​amarrage vides dans l'​interface graphique sans les rendre inaccessibles pour le dépôt. L'​implémentation par défaut renvoie l'​étendue du contrôle visible, augmentée d'un certain montant dans chaque direction
 +
 +