SetDropCallback()

Syntaxe

SetDropCallback(@DropCallback())
Description
Installe une fonction callback qui sera appelée automatiquement quand une donnée en cours de transfert se trouve au dessus d'une fenêtre ou d'un gadget pouvant l'accepter (voir EnableGadgetDrop() / EnableWindowDrop()). La callback permet de modifier le comportement par défaut de PureBasic, en fournissant par exemple des effets visuels supplémentaires en fonction de la position de la donnée.

Arguments

@DropCallback() L'adresse de la fonction callback.

La callback est appelée quand la souris entre, se déplace et quitte une zone propice au 'Drag & Drop', pour permettre de réagir contextuellement. De plus la callback peut interdire le transfert si nécessaire. Le curseur ne doit pas être modifié dans cette fonction, car seule la source du transfert en est responsable.

Les paramètres de la callback sont décrits ci-dessous:

  Procedure DropCallback(Handle, Etat, Format, Action, x, y)
  
    ProcedureReturn #True
  EndProcedure
Le premier paramètre indique l' identifiant (Handle) spécifique de l'OS pour le gadget ou la fenêtre cible. Sous Windows, il s'agit de la valeur HWND, sous Linux d'un pointeur GtkWidget et sous MacOSX de la valeur ControlRef ou WindowRef. Pour obtenir ces valeurs, vous pouvez utiliser GadgetID() ou WindowID() pour le gadget ou la fenêtre cible.

'Etat' représente l'état actuel du 'Drag & Drop' en cours. Peut prendre l'une des valeurs suivantes:
  #PB_Drag_Enter : La souris est entrée dans la zone du gadget ou de la fenêtre
  #PB_Drag_Update: La souris se déplace dans le gadget ou la fenêtre, ou l'action a changé
  #PB_Drag_Leave : La souris est sortie de la zone du gadget ou de la fenêtre (Format, Action, x, y sont à 0)
  #PB_Drag_Finish: Le 'Drag & Drop' est terminé
'Format' représente le format de la donnée. Peut prendre l'une des valeurs suivantes, ou un identifiant de format système (voir DragOSFormats() pour plus d'informations):
  #PB_Drop_Text   : Le texte est accepté sur ce gadget ou cette fenêtre
  #PB_Drop_Image  : Les images sont acceptés sur ce gadget ou cette fenêtre
  #PB_Drop_Files  : Les fichiers sont acceptés sur ce gadget ou cette fenêtre
  #PB_Drop_Private: Le type interne est accepté sur ce gadget ou cette fenêtre
Le paramètre 'Action' indique quelle action serait prise en compte si l'utilisateur relachait le bouton de la souris à cet instant. Il peut prendre une des valeurs suivantes:
  #PB_Drag_None: La donnée ne sera pas acceptée
  #PB_Drag_Copy: La donnée sera copiée
  #PB_Drag_Move: La donnée sera déplacée
  #PB_Drag_Link: La donnée sera liée
En retournant #True, la callback permet que l'action se déroule normalement. En retournant #False, la callback interdit l'action (le curseur sera changé en "panneau d'interdiction" par la source du transfert). Si l'Etat' est #PB_Drag_Finish, retourner #False annulera le 'Drag & Drop'.

Valeur de retour

Cette fonction n'a pas de valeur de retour.

Voir aussi

SetDragCallback()

OS Supportés

Tous

<- SetDragCallback() - DragDrop Index