EnableGadgetDrop()
Syntaxe
EnableGadgetDrop(#Gadget, Format, Actions [, TypeInterne])Description
Permet à un gadget d'être la cible d'un 'Drag & Drop' d'un format spécifique. Quand l'utilisateur voudra déposer une donnée de ce format sur le gadget, le curseur sera modifié en conséquence, indiquant que l'action est possible.
Arguments
#Gadget Le numéro du gadget qui supportera le 'Drag & Drop'. Format Indique quel type de donnée pourra être déposé sur le gadget.
Il peut prendre une des valeurs suivantes ou un identifiant de format système (voir DragOSFormats() pour plus d'informations).#PB_Drop_Text : Accepte du texte sur ce gadget #PB_Drop_Image : Accepte des images sur ce gadget #PB_Drop_Files : Accepte des noms de fichiers sur ce gadget #PB_Drop_Private: Accepte un 'Drag & Drop' interneActions L'utilisateur peut décider de l'action à prendre en utilisant les touches Ctrl ou Shift. Les actions disponibles dépendent aussi du composant sur lequel le texte va être déposé.
Peut être une combinaison de:#PB_Drag_None: Le format de données ne sera pas accepté par ce gadget #PB_Drag_Copy: La donnée peut être copiée #PB_Drag_Move: La donnée peut être déplacée #PB_Drag_Link: La donnée peut être liéeTypeInterne (optionnel) Uniquement nécessaire quand #PB_Drop_Private est utilisé comme format.
Il indique le type du 'Drag & Drop' interne à accepter.
Voir DragPrivate() pour plus d'informations.
Ce paramètre est ignoré pour les autres formats.
Valeur de retour
Aucune.
Remarques
Plusieurs types de formats peuvent être acceptés par un même gadget. Si la source des données transférées a spécifié plusieurs formats qui sont pris en compte par le gadget, celui qui aura été activé en dernier sera accepté. Donc le format le plus approprié devra être activé en dernier.
Quand une donnée sera déposée sur le gadget, le programme recevra un évènement #PB_Event_GadgetDrop. EventGadget() indiquera le gadget concerné et les commandes 'Event' de cette bibliothèque permettront de récupérer la donnée déposée.
Exemple
; Faites un cliquer-glisser d'un fichier vers l'un des gadgets qui affichera alors le chemin du fichier ; If OpenWindow(0, 0, 0, 500, 200, "Drop File Here", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) StringGadget(0, 10, 10, 500 - 20, 30, "") EditorGadget(1, 10, 50, 500 - 20, 140) EnableGadgetDrop(0, #PB_Drop_Files, #PB_Drag_Copy) EnableGadgetDrop(1, #PB_Drop_Files, #PB_Drag_Copy) Repeat Select WaitWindowEvent() Case #PB_Event_GadgetDrop Select EventGadget() Case 0 ; gadgets ayant reçu l'évènement glisser-déposer de fichier/dossier If Not FindString(EventDropFiles(), Chr(10)) SetGadgetText(0, EventDropFiles()) EndIf Case 1 SetGadgetText(1, EventDropFiles()) EndSelect Case #PB_Event_CloseWindow CloseWindow(0) End EndSelect ForEver EndIf
Voir aussi
EnableWindowDrop(), EventDropType(), EventDropAction(), SetDropCallback()
OS Supportés
Tous