DragImage()

Syntaxe

Resultat = DragImage(ImageID [, Actions])
Description
Lance une opération de 'Drag & Drop' en utilisant une donnée de type 'image'. 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.

Arguments

ImageID détermine l'image à transférer. ImageID() peut être utilisé pour obtenir cet identifiant.

'Actions' peut être une combinaison des actions qui seront disponibles pour cette donnée lors de son transfert. Si ce paramètre est omis, #PB_Drag_Copy sera utilisé comme valeur par défaut. Les actions possibles sont: (combinables avec '|')
  #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é. (On MacOSX, the actions are only treated as a suggestion. The drop target can still choose another 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.

Exemple:

  ; Drag the image to an application that can accept images like an office or graphic program.
  ;
  If LoadImage(1, #PB_Compiler_Home + "examples/sources/data/PureBasicLogo.bmp")
    If OpenWindow(1, 200, 200, 400, 90, "Drag & Drop", #PB_Window_SystemMenu)
      CreateGadgetList(WindowID(1))
      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

OS Supportés

Tous

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