RegisterDragDrop-Funktion (ole2.h)
Registriert das angegebene Fenster als eines, das das Ziel eines OLE-Drag-and-Drop-Vorgangs sein kann, und gibt die IDropTarget- Instanz an, die für Drop-Vorgänge verwendet werden soll.
Syntax
HRESULT RegisterDragDrop(
[in] HWND hwnd,
[in] LPDROPTARGET pDropTarget
);
Parameter
[in] hwnd
Behandeln eines Fensters, das ein Ziel für einen OLE-Drag-and-Drop-Vorgang sein kann.
[in] pDropTarget
Zeigen Sie auf die IDropTarget Schnittstelle des Objekts, das das Ziel eines Drag-and-Drop-Vorgangs in einem angegebenen Fenster sein soll. Diese Schnittstelle wird verwendet, um OLE-Drag-and-Drop-Informationen für dieses Fenster zu kommunizieren.
Rückgabewert
Diese Funktion gibt S_OK bei Erfolg zurück. Weitere mögliche Werte sind:
Rückgabecode | Beschreibung |
---|---|
|
Ungültiges Handle, das im hwnd-Parameter zurückgegeben wird. |
|
Das angegebene Fenster wurde bereits als Drop-Ziel registriert. |
|
Nicht genügend Arbeitsspeicher für den Vorgang. |
Bemerkungen
Wenn Ihre Anwendung verworfene Objekte während OLE-Drag-and-Drop-Vorgängen akzeptieren kann, müssen Sie die RegisterDragDrop--Funktion aufrufen. Führen Sie dies aus, wenn eines Ihrer Anwendungsfenster als potenzielles Dropziel verfügbar ist. das heißt, wenn das Fenster auf dem Bildschirm nicht angezeigt wird.
Der Anwendungsthread, der die RegisterDragDrop--Funktion aufruft, muss Nachrichten pumpen, vermutlich durch Aufrufen der GetMessage--Funktion mit einem NULL-hWnd--Parameter, da OLE Fenster im Thread erstellt, die verarbeitete Nachrichten benötigen. Wenn diese Anforderung nicht erfüllt ist, hängt jede Anwendung, die ein Objekt über das Fenster zieht, das als Ablageziel registriert ist, bis die Zielanwendung geschlossen wird.
Die RegisterDragDrop--Funktion registriert jeweils nur ein Fenster, sodass Sie es für jedes Anwendungsfenster aufrufen müssen, in dem gelöschte Objekte akzeptiert werden können.
Wenn die Maus während eines OLE-Drag-and-Drop-Vorgangs über ungeöffentliche Teile des Zielfensters übergeht, ruft die DoDragDrop--Funktion die angegebene IDropTarget::D ragOver--Methode für das aktuelle Fenster auf. Wenn ein Ablagevorgang tatsächlich in einem bestimmten Fenster auftritt, ruft die DoDragDrop Funktion IDropTarget::D ropauf.
Die RegisterDragDrop--Funktion ruft auch die IUnknown::AddRef-Methode für den IDropTarget Zeiger auf.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | ole2.h |
Library | Ole32.lib |
DLL- | Ole32.dll |