Método IDropTarget::D ragEnter (oleidl.h)
Indica si se puede aceptar una colocación y, si es así, el efecto de la colocación.
Sintaxis
HRESULT DragEnter(
[in] IDataObject *pDataObj,
[in] DWORD grfKeyState,
[in] POINTL pt,
[in, out] DWORD *pdwEffect
);
Parámetros
[in] pDataObj
Puntero a la interfaz IDataObject del objeto de datos. Este objeto de datos contiene los datos que se transfieren en la operación de arrastrar y colocar. Si se produce la eliminación, este objeto de datos se incorporará al destino.
[in] grfKeyState
Estado actual de las teclas modificadoras de teclado en el teclado. Los valores posibles pueden ser una combinación de cualquiera de las marcas MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON y MK_RBUTTON.
[in] pt
Estructura POINTL que contiene las coordenadas del cursor actuales en coordenadas de pantalla.
[in, out] pdwEffect
En la entrada, puntero al valor del parámetro pdwEffect de la función DoDragDrop . Al devolver, debe contener una de las marcas DROPEFFECT , que indica cuál sería el resultado de la operación de colocación.
Valor devuelto
Este método devuelve S_OK cuando funciona correctamente. Otros valores posibles incluyen lo siguiente.
Código devuelto | Descripción |
---|---|
|
Se produjo un error inesperado. |
|
El parámetro pdwEffect es NULL en la entrada. |
|
No había memoria suficiente disponible para esta operación. |
Comentarios
No llamas a DragEnter directamente; en su lugar, la función DoDragDrop la llama para determinar el efecto de una colocación la primera vez que el usuario arrastra el mouse a la ventana registrada de un destino de colocación.
Para implementar DragEnter, debe determinar si el destino puede usar los datos en el objeto de datos de origen comprobando tres cosas:
- Formato y medio especificados por el objeto de datos
- Valor de entrada de pdwEffect
- Estado de las claves modificadoras
Al entrar a IDropTarget::D ragEnter, el parámetro pdwEffect se establece en los efectos proporcionados al parámetro pdwOkEffect de la función DoDragDrop . El método IDropTarget::D ragEnter debe elegir uno de estos efectos o deshabilitar la colocación.
Las siguientes claves modificadoras afectan al resultado de la colocación.
Combinación de teclas | comentarios de User-Visible | Efecto Drop |
---|---|---|
CTRL + MAYÚS | = | DROPEFFECT_LINK |
CTRL | + | DROPEFFECT_COPY |
Sin teclas ni MAYÚS | None | DROPEFFECT_MOVE |
Al devolver, el método debe escribir el efecto, una de las marcas DROPEFFECT, en el parámetro pdwEffect . DoDragDrop toma este parámetro y lo escribe en su parámetro pdwEffect . Se comunica el efecto de la devolución al origen a través de DoDragDrop en el parámetro pdwEffect . A continuación, la función DoDragDrop llama a IDropSource::GiveFeedback para que la aplicación de origen pueda mostrar los comentarios visuales adecuados al usuario a través de la ventana de destino.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | oleidl.h |