EnableGadgetDrop()

Syntax

EnableGadgetDrop(#Gadget, Format, Aktionen [, PrivatTyp])
Beschreibung
Aktiviert ein Gadget, um als Ziel für Drag & Drop Operationen eines bestimmten Formats zu dienen. Wenn der Anwender Daten diesen Formats über das Gadget zieht, wird der Mauscursor anzeigen, dass die Daten hier abgelegt ("fallen gelassen", englisch "dropped") werden können.

Parameter

#Gadget Die PureBasic Gadget-Nummer des betreffenden Gadgets.
Format Das Daten-Format, welches einer der folgenden Werte oder eine OS-spezifische ID für ein anderes (custom) Format sein kann (siehe DragOSFormats() für weitere Informationen).
  #PB_Drop_Text   : Akzeptiere Text auf diesem Gadget
  #PB_Drop_Image  : Akzeptiere Bilder auf diesem Gadget
  #PB_Drop_Files  : Akzeptiere Dateinamen auf diesem Gadget
  #PB_Drop_Private: Akzeptiere ein "privates" Drag & Drop auf diesem Gadget
Aktionen Eine Kombination der Drag & Drop Aktionen, welche für die Daten erlaubt sein sollen. Der Anwender kann durch Drücken der Zusatztasten wie 'Strg' oder 'Shift' entscheiden, welche dieser Aktionen verwendet werden soll. Die Aktionen, welche tatsächlich stattfinden können, richten sich auch nach den vom Quellobjekt (englisch "Drag object") erlaubten Aktionen. Mögliche Aktionen sind: (sie können mittels '|' kombiniert werden)
  #PB_Drag_None: Das Daten-Format wird auf diesem Gadget nicht akzeptiert
  #PB_Drag_Copy: Die Daten können kopiert werden
  #PB_Drag_Move: Die Daten können verschoben werden
  #PB_Drag_Link: Die Daten können verlinkt werden
PrivatTyp (optional) Der Typ des zu akzeptierenden "privaten" Drag & Drop, wenn 'Format' gleich #PB_Drop_Private ist. Siehe DragPrivate() für weitere Informationen. Dieser Parameter wird bei anderen Formaten ignoriert.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Anmerkungen

Mehrere Formate können auf dem gleichen Gadget erlaubt sein. Wenn die Quelle der Verschiebe-Operation mehrere Formate anbietet, welche zur Liste der akzeptierten Formate passen, dann wird das zuletzt hinzugefügte akzeptiert. Daher sollte das bevorzugte Format, in welchem Daten empfangen werden, zuletzt aktiviert werden.

Wenn Daten auf dem Gadget abgelegt wurden, wird das Programm ein #PB_Event_GadgetDrop Ereignis empfangen. EventGadget() wird das Ziel-Gadget anzeigen und die Event-Funktionen dieser Bibliothek können zum Ermitteln der abgelegten Daten verwendet werden.

Beispiel

  ; Ziehe eine Datei auf eines der Gadgets und es wird der Dateipfad ausgegeben
  ;
  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, die ein Datei/Ordner Drag&Drop Ereignis empfangen haben
                        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

Siehe auch

EnableWindowDrop(), EventDropType(), EventDropAction(), SetDropCallback()

Unterstützte OS

Alle

<- DragText() - DragDrop Inhaltsverzeichnis - EnableWindowDrop() ->