Funzione RegisterDragDrop (ole2.h)
Registra la finestra specificata come destinazione di un'operazione di trascinamento e rilascio OLE e specifica l'istanza IDropTarget da utilizzare per le operazioni di rilascio.
Sintassi
HRESULT RegisterDragDrop(
[in] HWND hwnd,
[in] LPDROPTARGET pDropTarget
);
Parametri
[in] hwnd
Handle in una finestra che può essere una destinazione per un'operazione di trascinamento della selezione OLE.
[in] pDropTarget
Puntatore all'interfaccia IDropTarget sull'oggetto che deve essere la destinazione di un'operazione di trascinamento della selezione in una finestra specificata. Questa interfaccia viene usata per comunicare le informazioni di trascinamento della selezione OLE per tale finestra.
Valore restituito
Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Handle non valido restituito nel parametro hwnd. |
|
La finestra specificata è già stata registrata come destinazione di rilascio. |
|
Memoria insufficiente per l'operazione. |
Commenti
Se l'applicazione può accettare oggetti eliminati durante le operazioni di trascinamento della selezione OLE, è necessario chiamare la funzione RegisterDragDrop . Eseguire questa operazione ogni volta che una delle finestre dell'applicazione è disponibile come destinazione potenziale di rilascio; vale a dire, quando la finestra viene visualizzata sullo schermo.
Il thread dell'applicazione che chiama la funzione RegisterDragDrop deve eseguire il pumping dei messaggi, presumibilmente chiamando la funzione GetMessage con un parametro hWndNULL, perché OLE crea finestre sul thread che richiedono messaggi elaborati. Se questo requisito non viene soddisfatto, qualsiasi applicazione che trascina un oggetto sulla finestra registrata come destinazione di rilascio si blocca fino alla chiusura dell'applicazione di destinazione.
La funzione RegisterDragDrop registra solo una finestra alla volta, quindi è necessario chiamarla per ogni finestra dell'applicazione in grado di accettare oggetti eliminati.
Quando il mouse passa parti non curate della finestra di destinazione durante un'operazione di trascinamento della selezione OLE, la funzione DoDragDrop chiama il metodo IDropTarget::D ragOver specificato per la finestra corrente. Quando si verifica effettivamente un'operazione di rilascio in una determinata finestra, la funzione DoDragDropDrop chiama IDropTarget::D rop.
La funzione RegisterDragDrop chiama anche il metodo IUnknown::AddRef nel puntatore IDropTarget .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ole2.h |
Libreria | Ole32.lib |
DLL | Ole32.dll |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per