Drag & Drop: Implementieren einer Drag & Drop-Quelle
Dieser Artikel wird beschrieben, wie die Anwendung Daten abruft, zu einem Drag & Drop-Vorgangs bereitzustellen.
Grundlegende Implementierung einer Ablagequelle ist relativ einfach. Der erste Schritt besteht darin, zu bestimmen, welche Ereignisse einen Ziehvorgang beginnen. Empfohlene Benutzeroberflächenrichtlinien definieren den Beginn eines Ziehvorgangs als die Auswahl der Daten und WM_LBUTTONDOWN-Ereignis, das auf einem Punktinnere die ausgewählten Daten fungiert. Die Beispiele OCLIENT und HIERSVR MFC-OLE führen diesen Richtlinien.
Wenn die Anwendung ein Container ist und die ausgewählten Daten verknüpft oder ein eingebettetes Objekt vom Typ COleClientItem sind, rufen Sie seine DoDragDrop-Memberfunktion auf. Erstellen Sie andernfalls ein COleDataSource-Objekt, initialisieren Sie es mit der Auswahl, und rufen Sie die DoDragDrop-Memberfunktion des Datenquellenobjekts auf. Wenn die Anwendung ein Server ist, verwenden Sie COleServerItem::DoDragDrop. Informationen zum Anpassen des Standard-Drag & Drop-Verhaltens, finden Sie im Artikel Drag & Drop: Anpassen.
Wenn DoDragDropDROPEFFECT_MOVE zurückgibt, Sie löschen die Quelldaten des Quelldokuments sofort. Kein anderer Rückgabewert von DoDragDrop hat keinerlei Auswirkungen auf eine Ablagequelle.
Weitere Informationen finden Sie unter: