Freigeben über


OLE-Drag & Drop

Visual FoxPro unterstützt OLE-Drag & Drop, ein leistungsfähiges und hilfreiches Tool, das es Ihnen ermöglicht, Daten zwischen anderen Anwendungen, die OLE-Drag & Drop unterstützen, zu verschieben (wie etwa Visual FoxPro, Visual Basic, Windows Explorer, Microsoft Word und Excel). Unter einer installierten Visual FoxPro-Anwendung können Sie Daten zwischen Steuerelementen innerhalb der Anwendung oder zwischen Steuerelementen und anderen Windows-Anwendungen verschieben, die OLE-Drag & Drop unterstützen.

Beachten Sie, dass vorherige Versionen von Visual FoxPro eine programmgesteuerte Drag & Drop-Funktion für Steuerelemente hatten, mit deren Hilfe Sie Steuerelemente auf einem Formular verschieben konnten. Diese Form des Drag & Drop wird in Visual FoxPro weiterhin unterstützt. Wenn Sie es allerdings vorziehen, in Ihren Anwendungen Drag & Drop zu implementieren, sollten Sie entweder nur programmgesteuertes Drag & Drop oder nur OLE-Drag & Drop verwenden; vermischen Sie nicht die beiden Arten der Drag & Drop-Unterstützung.

Ein Verständnis der Grundlagen von OLE-Drag & Drop-Anwendungen vereinfacht die volle Nutzung der Vorteile dieser Funktionen.

Ziehen und Ablegen von Daten

Die Maus wird dazu verwendet, Daten zwischen Anwendungen und Steuerelementen zu ziehen und abzulegen (Drag & Drop). Beispielsweise können Sie im Windows Explorer mehrere Dateien gleichzeitig auswählen. Sie können dann die Maustaste betätigen und gedrückt halten, während Sie die Dateien ziehen, und dann die Maustaste freigeben, um die Dateien auf dem Visual FoxPro-Projekt-Manager abzulegen. Sie können auch Text in einem Word-Dokument markieren und den Text in einem Textfeld auf einem Visual FoxPro-Formular ablegen. Während der OLE-Drag & Drop-Operation ändert sich der Mauszeiger, um anzuzeigen, dass eine OLE-Drag & Drop-Operation aktiv ist.

Dragquelle

Die Anwendung oder das Steuerelement, aus dem die Daten verschoben werden, wird als Dragquelle bezeichnet.

Eigenschaften, Ereignisse und Methoden von Dragquellen

Die folgende Tabelle zeigt eine Liste der für eine OLE-Dragquelle verfügbaren Eigenschaften, Ereignisse und Methoden an.

Eigenschaft, Ereignis oder Methode Beschreibung
OLECompleteDrag-Ereignis Tritt auf, wenn Daten auf dem Dropziel platziert werden oder der OLE-Drag & Drop-Vorgang abgebrochen wird.
OLEDrag-Methode Startet eine OLE-Drag & Drop-Operation.
OLEDragPicture-Eigenschaft Gibt das Bild an, das während einer OLE-Drag & Drop-Operation unter dem Mauszeiger angezeigt wird. Sie können eine Bilddatei vom Typ BMP, DIB, JPG, GIF, ANI, CUR und ICO angeben.
OLEDragMode-Eigenschaft Gibt an, wie eine Dragquelle OLE-Dragoperationen verwaltet.
OLEGiveFeedBack-Ereignis Tritt nach jedem OLEDragOver-Ereignis auf. Mit dessen Hilfe kann die Drag-Quelle den Typ der OLE-Drag & Drop-Operation und die visuelle Rückmeldung angeben.
OLESetData-Ereignis Tritt auf, wenn ein Dropziel die GetData-Methode aufruft und es noch keine Daten in einem bestimmten Format auf dem OLE-Drag & Drop-DataObject-Objekt gibt.
OLEStartDrag-Ereignis Tritt auf, wenn die OLEDrag-Methode aufgerufen wird.

Dropziel

Die Anwendung oder das Steuerelement, auf die/das die Daten geschoben werden, wird als Dropziel bezeichnet.

Eigenschaften und Ereignisse von Dropzielen

Die folgende Tabelle zeigt eine Liste der für ein OLE-Dropziel verfügbaren Eigenschaften, Ereignisse und Methoden an.

Eigenschaft oder Ereignis Beschreibung
OLEDragDrop-Ereignis Tritt auf, wenn Daten auf dem Dropziel abgelegt werden und die OLEDropMode-Eigenschaft des Dropziels auf 1 (aktiviert) eingestellt ist.
OLEDragOver-Ereignis Tritt auf, wenn Daten über ein Dropziel gezogen und die OLEDropMode-Eigenschaft des Dropziels auf 1 (aktiviert) gesetzt ist.
OLEDropEffects-Eigenschaft Gibt den Typ der Drop-Operationen an, die ein OLE-Dropziel unterstützt.
OLEDropHasData-Eigenschaft Gibt an, wie eine Drop-Operation gehandhabt wird.
OLEDropMode-Eigenschaft Gibt an, wie ein Dropziel OLE-Drop-Operationen handhabt.

Verschieben von Daten

Um eine Drag & Drop-Operation zum Verschieben von Daten mit Hilfe der Standardmaustaste (links) auszuführen, wählen Sie in der Dragquelle die zu verschiebenden Daten aus. Nach Auswahl der Daten betätigen Sie die Maustaste und halten sie gedrückt, während Sie den Mauszeiger zum Dropziel verschieben. Geben Sie die Maustaste frei, um die Daten auf dem Dropziel abzulegen. Während der OLE-Drag & Drop-Operation ändert sich der Mauszeiger, um anzuzeigen, dass eine OLE-Drag & Drop-Operation aktiv ist.

Sie können auch mit der nicht standardmäßigen (rechten) Maustaste auf die Daten in einer Dragquelle klicken und die Daten auf ein Dropziel ziehen. In Abhängigkeit vom Dropziel kann ein Kontextmenü angezeigt werden, wenn Sie die Daten auf dem Dropziel ablegen. Das Kontextmenü enthält eine Menge von Optionen, mit deren Hilfe Sie auswählen können, wie die Daten vom Dropziel verarbeitet werden.

Kopieren von Daten

Außerdem können Sie Daten aus einer Dragquelle kopieren und sie in ein Dropziel einfügen. Drücken Sie die STRG-TASTE, wenn Sie mit der Maus auf die in der Dragquelle ausgewählten Daten klicken. Während des Verschiebens zeigt der Mauszeiger ein Pluszeichen (+) an, um anzuzeigen, dass eine Kopieroperation aktiv ist.

Ziele und Quellen, die OLE-Drag & Drop nicht unterstützen

Sie können Daten nur von Dragquellen verschieben oder kopieren, die OLE-Drag & Drop unterstützten, und das Dropziel muss ebenfalls OLE-Drag & Drop unterstützen. Beachten Sie, dass ein Dropziel, auch wenn es OLE-Drag & Drop unterstützt, die Daten, die Sie auf ihm abzulegen versuchen, nicht akzeptieren muss. Beispielsweise können die von Ihnen verschobenen oder kopierten Daten ein Format haben, die das Dropziel nicht unterstützt. Während einer Drag & Drop-Operation ändert sich der Mauszeiger in ein "Nicht ablegen"-Symbol (ein durchgestrichener Kreis), um anzuzeigen, dass der Mauszeiger sich über einem Bereich einer Anwendung oder eines Steuerelements befindet, auf dem keine Daten abgelegt werden können.

Abbrechen einer Operation

Zum Abbrechen einer OLE-Drag & Drop-Operation drücken Sie während der Operation die ESC-TASTE.

Siehe auch

Interoperabilität und das Internet | OLE-Drag & Drop-Unterstützung zur Entwurfszeit | OLE-Drag & Drop-Unterstützung zur Laufzeit | Implementieren integrierter und manueller OLE-Drag & Drop-Modi | Aktive Dokumente