SetDragCallback()

Syntaxe

SetDragCallback(@DragCallback())
Description
Installe une fonction callback qui sera appelée automatiquement quand une opération de 'Drag & Drop' sera démarrée depuis cette application. La callback permet de modifier le comportement par défaut fourni par PureBasic, par exemple pour changer le curseur via l'API du système d'exploitation. La fonction callback est dépendante de l'OS.

Arguments

@DragCallback() L'adresse d'une fonction à appeler lors du début d'une opération de drag & drop.
La forme et l'objet du rappel dépend de l'OS.
Elle doit prendre la forme suivante:

Windows:
  Procedure DragCallback(Action)
  
    ProcedureReturn #True
  EndProcedure
La callback est appelée durant toute l'opération de 'Drag & Drop'. 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
La callback permet de fournir un curseur ou une image différente. Si c'est le cas, il faudra renvoyer #False, sinon le curseur par défaut sera utilisé.
Linux:
  Procedure DragCallback(*Context.GdkDragContext, isStart)
  
  EndProcedure
La callback est appelée seulement au début et à la fin d'une opération de 'Drag & Drop'. Le paramètre '*Context' indique le contexte gdk de cette opération, 'isStart' indique si c'est le début ou la fin de l'opération. La valeur renvoyée par la callback est ignorée.

Des fonctions Gtk comme gtk_drag_set_icon_pixbuf_() peuvent être utilisées dans la callback pour définir une image différente durant l'opération.
MacOSX:
  Procedure DragCallback(DragReference, isStart)
  
  EndProcedure
La callback n'est appelée seulement qu'au début ou à la fin de l'opération "Drag & Drop" (="glisser/déposer"). Le paramètre 'DragReference' précise le contexte 'Drag' de Carbon pour cette opération, contexte qui prend la forme d'une valeur 'DragRef'. 'isStart' précise s'il s'agit du début ou de la fin de l'opération 'Drag & Drop'. La valeur de retour de cette fonction callback est ignorée.

Toutes les fonctions du "Drag Manager" de Carbon peuvent être utilisées pour modifier l'opération 'Drag' avant qu'elle ne commence (ajouter plusieurs choix par exemple) et pour obtenir plus d'informations une fois qu'elle est terminée.

Valeur de retour

Cette fonction n'a pas de valeur de retour.

Voir aussi

SetDropCallback()

OS Supportés

Tous

<- EventDropY() - DragDrop Index - SetDropCallback() ->