Contrôle du désancrage des contrôles enfant
Remonter à Implémentation du glisser-ancrer dans les contrôles
Un site d'ancrage permet de désancrer automatiquement les contrôles enfant lorsqu'ils sont déplacés et que leur propriété DragMode vaut dmAutomatic. Les sites d'ancrage peuvent réagir lorsque les contrôles enfant sont retirés, et même empêcher le désancrage, dans un gestionnaire d'événement OnUnDock
property OnUnDock: TUnDockEvent;
TUnDockEvent = procedure(Sender: TObject; Client: TControl; var Allow: Boolean) of object;
__property TUnDockEvent OnUnDock = {read=FOnUnDock, write=FOnUnDock};
typedef void __fastcall (__closure *TUnDockEvent)(System::TObject* Sender, TControl* Client, TWinControl* NewTarget, bool &Allow);
Le paramètre Client indique le contrôle enfant qui tente un désancrage et le paramètre Allow permet au site d'ancrage (Sender) de rejeter le désancrage. Lorsque vous implémentez un gestionnaire d'événement OnUnDock, il peut être utile de connaître les autres enfants éventuellement ancrés. Ces informations figurent dans la propriété en lecture seule DockClients, qui est un tableau indexé de TControl. Le nombre de clients ancrés est donné par la propriété en lecture seule DockClientCount.