Programmieren mit dBASE PLUS: Funktionen: drag


Löst einen Drag&Drop (copy oder move) Vorgang für UI-Objekt aus.

<oRef> drag(<type expc>, <name expC>, <icon expC>)

<oRef>

Das Objekt, das kopiert oder verschoben werden soll.

<type expc>

Ein String, der typischerweise den Objekttypen bestimmt.

<name expC>

Ein String, der typischerweise den Namen des Objekts enthält.

<icon expC>

Der Dateiname eines Cursoricons, der angezeigt wird, während das Objekt gezogen wird. Dieser Parameter wird zwar verlangt, wird aber augenblicklich nicht genutzt. Der Standard Windows OLE Cursor wird angezeigt.

Eigenschaft von

Bearbeiten

Vielen Form Objekten

Beschreibung

Bearbeiten

Verwenden Sie drag( ), um eine Drag&Drop Operation für ein Drop Source Objekt auszulösen. Objekt können nur losgelassen werden, wenn sie sich über einem aktiven „Drop-Target“ Objekt befinden.

Drop Target Objekte sind Objekte, deren allowDrop Eigenschaft auf true gesetzt ist. Die drag( ) methode wird typischerweise im onLeftMouseDown Event eines Objektes eingesetzt.

drag( ) gibt true oder false zurück, abhängig vom Erfolg der Drop-Operation.

Für Kopie Anwendungen, werden <type expC> und <name expC> direkt aus der drag( ) methode an das Ziel-Objekt (drop-Target) weitergegeben. Diese erhält man dann in den onDragEnter, onDragOver oder onDrop Ereignissen des Ziel-Objektes.Diese beiden Parameter haben eine maximale Länge von 260 Zeichen. Der Inhalt ist formatmässig beliebig. Sie können daher verwendet werden, um jegliche Information weiterzuleiten.

Mittels der dragEffect Eigenschaft wird bestimmt ob „copy“ oder „move“ angewendet werden. Zudem wird berücksichtigt welche Steuerungstaste zu Beginn der Drag-Operation gedrückt ist.

dragEffect Steuerungstaste Operationstyp
0 - Kein (ignoriert) Kein (drag nicht erlaubt)
1 - Kopieren (ignoriert) Kopie
2 - Verschieben up Verschieben
2 - Verschieben down Kopie

Beim Verschieben (Move), bewegt sich der Umriss des gezogenen Objektes mit der Maus und kann nur innerhalb seines umfassenden Objektes, z.B.: ein Parent Form oder Container, losgelassen werden. Die Operation findet nur statt, wenn das Zielobjekt (Target Object) gleichzeitig ein aktives Drop Target ist. Die Operation wird beendet, wenn der Mausknopf losgelassen wird. Beim Kopieren scheint das gezogene Objekt an der gleichen Stelle zu bleiben – die Operation ist nur an der Form des Mauscursors erkennbar. Das Objekt kann auf irgend ein aktives Drop Target losgelassen werden. Wenn der Mausknopf losgelassen wird, wird das onDrop Ereignis des Ziel-Objektes (Drop Target) ausgelösst. Dieses Ereignis gibt dann true oder false an die auslösende drag( ) Methode zurück.