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:14]
thierry [GetFloatingDockSiteClass]
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" ​====
 Renvoie la classe pour un site d'​amarrage flottant. Renvoie la classe pour un site d'​amarrage flottant.
  
Ligne 13: Ligne 13:
 Seuls les TWinControls peuvent flotter à l'​écran (avec Parent=nil),​ mais pas les TControls ordinaires. Seuls les TWinControls peuvent flotter à l'​écran (avec Parent=nil),​ mais pas les TControls ordinaires.
  
-Étant donné que les formulaires ​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 légende ​d'​amarrage)+É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
 +
 +