DragText()

Syntax

Ergebnis = DragText(Text$ [, Aktionen])
Beschreibung
Startet eine Drag & Drop Operation mit Text-Daten.

Parameter

Text$ Der zu "ziehende" (englisch "to drag") Text.
Aktionen (optional) Eine Kombination der Drag & Drop Aktionen, welche für die Daten erlaubt sein sollen. Wenn der Parameter nicht angegeben wird, wird #PB_Drag_Copy die einzige erlaubte Aktion sein. Mögliche Aktionen sind: (sie können mittels '|' kombiniert werden)
  #PB_Drag_Copy: Der Text kann kopiert werden
  #PB_Drag_Move: Der Text kann verschoben werden
  #PB_Drag_Link: Der Text kann verlinkt werden
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 Zielobjekt (englisch "drop target") erlaubten Aktionen.
(Auf MacOSX werden die Aktionen nur als ein Vorschlag übergeben. Das Zielobjekt kann immer noch eine andere Aktion auswählen.)

Rückgabewert

Gibt einen der oben genannten Drag & Drop Aktions-Werte zurück, welche die vom Anwender genutzte Aktion anzeigen, oder #PB_Drag_None wenn der Anwender die Drag & Drop Operation abgebrochen hat.

Bitte beachten Sie, dass es bei Rückgabe von #PB_Drag_Move in Ihrer Verantwortung liegt, den verschobenen Text von Ihrer Applikation zu entfernen.

Anmerkungen

Drag & Drop kann grundsätzlich jederzeit gestartet werden, aber die linke Maustaste sollte aktuell gedrückt sein, da andernfalls die Operation umgehend und ohne Erfolg beendet wird. Der übliche Zeitpunkt zum Starten einer Drag & Drop Operation ist, wenn ein Gadget über EventType() ein Ereignis vom Typ #PB_EventType_DragStart zurückmeldet. Unter MacOS X muss das Ereignis #PB_EventType_DragStart mit BindEvent() oder BindGadgetEvent() behandelt werden.

Beispiel

  Procedure DragStartHandler()
    ExamineDraggedItems()
    While NextDraggedItem()
      Text$ + GetGadgetItemText(0, DraggedItemIndex()) + Chr(10)
    Wend
    
    Debug "Dragging text: " + Text$
    
    DragText(Text$)
  EndProcedure

  ; Wählen Sie einige Dateien oder Ordner aus und ziehen Sie sie in eine andere Anwendung
  ;
  If OpenWindow(0, 200, 200, 400, 400, "Drag & Drop")
    ListViewGadget(0, 10, 10, 380, 380, #PB_ListView_MultiSelect)
    AddGadgetItem(0, -1, "Item 1")
    AddGadgetItem(0, -1, "Item 2")
    AddGadgetItem(0, -1, "Item 3")
    
    ; BindGadgetEvent() ist erforderlich, um das Drag-Start-Ereignis zu verarbeiten
    BindGadgetEvent(0, @DragStartHandler(), #PB_EventType_DragStart)
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf

Siehe auch

DragFiles(), DragImage(), DragPrivate(), DragOSFormats(), SetDragCallback()

Unterstützte OS

Windows, Linux

<- DragPrivate() - DragDrop Inhaltsverzeichnis - DraggedItemIndex() ->