Compartir a través de


CView::OnDropEx

Llamado por el marco cuando el usuario suelta un objeto de datos en un destino de colocación válido.

virtual DROPEFFECT OnDropEx( 
   COleDataObject* pDataObject, 
   DROPEFFECT dropDefault, 
   DROPEFFECT dropList, 
   CPoint point  
);

Parámetros

  • pDataObject
    Señala COleDataObject que se colocan en el destino.

  • dropDefault
    El efecto que el usuario decide la operación predeterminada de entrega en función del estado clave actual. puede ser DROPEFFECT_NONE. Los efectos de entrega se describen en la sección comentarios.

  • dropList
    Una lista de efectos de entrega que el origen de colocación admite. Los valores del efecto de colocar se pueden combinar mediante el bit a bit OR ( |) operación. Los efectos de entrega se describen en la sección comentarios.

  • point
    La posición actual del mouse en relación con el área de cliente de la vista.

Valor devuelto

El efecto de entrega que resultó try de destino en la ubicación especificada por point. éste debe ser uno de los valores indicados por dropEffectList. Los efectos de entrega se describen en la sección comentarios.

Comentarios

La implementación predeterminada es no hacer nada y devolver un valor ficticio (-1) para indicar que el marco debe llamar al controlador de OnDrop .

Invalide esta función para implementar el efecto de un arrastrar y colocar del botón secundario del mouse. La operación de arrastrar y colocar del botón secundario del mouse muestra normalmente un menú de opciones cuando se suelta el botón secundario del mouse.

La invalidación de OnDropEx debe consultar el botón secundario del mouse. Puede llamar a GetKeyState o almacenar el estado del botón secundario del mouse del controlador de OnDragEnter .

  • Si el botón secundario del mouse está presionado, el reemplazo debe mostrar un menú emergente que proporcione compatibilidad de efectos de colocar por el origen de colocación.

    • Examine dropList para determinar los efectos de entrega admitidos por el origen de colocación. Permiso sólo estas acciones en el menú emergente.

    • Utilice SetMenuDefaultItem para establecer la acción predeterminado basado en dropDefault.

    • Finalmente, realice las indicadas por la selección del usuario del elemento emergente.

  • Si el botón secundario del mouse no está presionada, el reemplazo debe procesar esta configuración como una solicitud estándar de entrega. Utilice el efecto de colocar especificado en dropDefault. Como alternativa, el reemplazo puede devolver el valor ficticio (-1) para indicar que OnDrop controlará esta operación de colocar.

Utilice pDataObject para examinar COleDataObject para el formato de datos y los datos del portapapeles colocados en el punto especificado.

Los efectos de entrega describen la acción asociada a una operación de colocar. Vea la siguiente lista de efectos de entrega:

  • El destino deDROPEFFECT_NONE A no sería permitido.

  • La operación de copia deDROPEFFECT_COPY A sería realizada.

  • La operación de movimiento deDROPEFFECT_MOVE A sería realizada.

  • El vínculo deDROPEFFECT_LINK A de los datos colocados a los datos originales establecería.

  • DROPEFFECT_SCROLL Indica que una operación de desplazamiento de arrastre está a punto de producirse o se está produciendo en el destino.

Para obtener más información sobre cómo establecer el comando de menú predeterminado, vea SetMenuDefaultItem en Windows SDK y CMenu:: GetSafeHmenu en este volumen.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CView Class

Gráfico de jerarquías

CView::OnDragEnter

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx