DragImage()

Syntaxe

Resultat = DragImage(ImageID [, Actions])
Description
Lance une opération de 'Drag & Drop' en utilisant une donnée de type image.

Arguments

ImageID L'image à transférer.

ImageID() peut être utilisé pour obtenir cet identifiant.
Actions (optionnel) Si ce paramètre est omis, #PB_Drag_Copy sera utilisé comme valeur par défaut.

Peut être une combinaison de:
  #PB_Drag_Copy: L'image peut être copiée
  #PB_Drag_Move: L'image peut être déplacée
  #PB_Drag_Link: L'image peut être liée
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é. (Sous MacOSX, les actions ne sont traitées que comme une suggestion. La cible de dépôt peut encore choisir une autre action.)

Valeur de retour

Renvoie une des valeurs 'Actions' pour indiquer laquelle a été choisie par l'utilisateur, ou #PB_Drag_None si le 'Drag & Drop' a été annulé.

Note: si #PB_Drag_Move est renvoyé, l'image déposée ne sera pas automatiquement effacée de l'application PureBasic. Il faudra le faire en réponse à ce message.

Remarques

Un 'Drag & Drop' peut être démarré n'importe quand, mais il faut que le bouton gauche de la souris soit appuyé sinon l'opération se terminera immédiatement. Le moment le plus approprié pour lancer un 'Drag & Drop' est en réponse à un évènement sur un Gadget avec un EventType() valant #PB_EventType_DragStart.

Exemple

  ; Glissez une image vers une application qui les accepte comme une application de bureau ou un programme graphique.
  ;
  If LoadImage(1, #PB_Compiler_Home + "examples/sources/data/PureBasicLogo.bmp")
    If OpenWindow(1, 200, 200, 400, 90, "Drag & Drop", #PB_Window_SystemMenu)
      ImageGadget(1, 10, 10, 380, 70, ImageID(1))
    
      Repeat
        Event = WaitWindowEvent()      
        If Event = #PB_Event_Gadget And EventGadget() = 1 And EventType() = #PB_EventType_DragStart
          DragImage(ImageID(1))
        EndIf      
      Until Event = #PB_Event_CloseWindow
    EndIf
  EndIf

Voir aussi

DragFiles(), DragText(), DragPrivate(), DragOSFormats(), SetDragCallback()

OS Supportés

Tous

<- DragFiles() - DragDrop Index - DragOSFormats() ->