Compartir a través de


COlePasteSpecialDialog (clase)

Se utiliza en el cuadro de diálogo Pegado especial de OLE.

Sintaxis

class COlePasteSpecialDialog : public COleDialog

Miembros

Constructores públicos

Nombre Descripción
COlePasteSpecialDialog::COlePasteSpecialDialog Construye un objeto COlePasteSpecialDialog.

Métodos públicos

Nombre Descripción
COlePasteSpecialDialog::AddFormat Agrega formatos personalizados a la lista de formatos que la aplicación puede pegar.
COlePasteSpecialDialog::AddLinkEntry Agrega una nueva entrada a la lista de formatos de Portapapeles admitidos.
COlePasteSpecialDialog::AddStandardFormats Agrega CF_BITMAP, CF_DIB, CF_METAFILEPICT y, opcionalmente, CF_LINKSOURCE a la lista de formatos que la aplicación puede pegar.
COlePasteSpecialDialog::CreateItem Crea el elemento en el documento contenedor con el formato especificado.
COlePasteSpecialDialog::DoModal Muestra el cuadro de diálogo Pegado especial de OLE.
COlePasteSpecialDialog::GetDrawAspect Indica si se debe dibujar el elemento como un icono o no.
COlePasteSpecialDialog::GetIconicMetafile Obtiene un identificador del metarchivo asociado a la forma de icono de este elemento.
COlePasteSpecialDialog::GetPasteIndex Obtiene el índice de las opciones de pegado disponibles elegidas por el usuario.
COlePasteSpecialDialog::GetSelectionType Obtiene el tipo de selección elegido.

Miembros de datos públicos

Nombre Descripción
COlePasteSpecialDialog::m_ps Estructura de tipo OLEUIPASTESPECIAL que controla la función del cuadro de diálogo.

Comentarios

Cree un objeto de clase COlePasteSpecialDialog cuando quiera llamar a este cuadro de diálogo. Una vez construido un objeto COlePasteSpecialDialog, puede usar las funciones miembro AddFormat y AddStandardFormats para agregar formatos de Portapapeles al cuadro de diálogo. También puede usar la estructura m_ps para inicializar los valores o estados de los controles en el cuadro de diálogo. La estructura m_ps es de tipo OLEUIPASTESPECIAL.

Para más información, consulte la estructura OLEUIPASTESPECIAL en Windows SDK.

Para más información sobre los cuadros de diálogo específicos de OLE, consulte el artículo Cuadros de diálogo en OLE.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

Cdialog

CCommonDialog

COleDialog

COlePasteSpecialDialog

Requisitos

Encabezado: afxodlgs.h

COlePasteSpecialDialog::AddFormat

Llame a esta función para agregar nuevos formatos a la lista de formatos que la aplicación puede admitir en una operación de pegado especial.

void AddFormat(
    const FORMATETC& formatEtc,
    LPTSTR lpszFormat,
    LPTSTR lpszResult,
    DWORD flags);

void AddFormat(
    UINT cf,
    DWORD tymed,
    UINT nFormatID,
    BOOL bEnableIcon,
    BOOL bLink);

Parámetros

fmt
Referencia al tipo de datos que se va a agregar.

lpszFormat
Cadena que describe el formato al usuario.

lpszResult
Cadena que describe el resultado si se elige este formato en el cuadro de diálogo.

flags
Las distintas opciones de vinculación e inserción disponibles para este formato. Esta marca es una combinación bit a bit de uno o varios de los distintos valores del tipo enumerado OLEUIPASTEFLAG.

cf
Formato del Portapapeles que se va a agregar.

tymed
Los tipos de elementos multimedia disponibles en este formato. Se trata de una combinación bit a bit de uno o varios de los valores del tipo enumerado TYMED.

nFormatID
Id. de la cadena que identifica este formato. El formato de esta cadena es dos cadenas independientes separadas por un carácter "\n". La primera cadena es la misma que se pasaría en el parámetro lpstrFormat y la segunda es la misma que la del parámetro lpstrResult.

bEnableIcon
Marca que determina si la casilla Mostrar como icono se habilita cuando se elige este formato en el cuadro de lista.

bLink
Marca que determina si el botón de radio Pegar vínculo se habilita cuando se elige este formato en el cuadro de lista.

Comentarios

Se puede llamar a esta función para agregar formatos estándar, como CF_TEXT o CF_TIFF o formatos personalizados que la aplicación ha registrado en el sistema. Para más información sobre cómo pegar objetos de datos en la aplicación, consulte el artículo Objetos de datos y orígenes de datos: manipulación.

Para más información, vea el tipo de enumeración TYMED y la estructura FORMATETC en Windows SDK.

Para más información, vea el tipo enumerado OLEUIPASTEFLAG en Windows SDK.

COlePasteSpecialDialog::AddLinkEntry

Agrega una nueva entrada a la lista de formatos de Portapapeles admitidos.

OLEUIPASTEFLAG AddLinkEntry(UINT cf);

Parámetros

cf
Formato del Portapapeles que se va a agregar.

Valor devuelto

Estructura OLEUIPASTEFLAG que contiene la información de la nueva entrada de vínculo.

COlePasteSpecialDialog::AddStandardFormats

Llame a esta función para agregar los siguientes formatos del Portapapeles a la lista de formatos que la aplicación puede admitir en una operación de pegado especial:

void AddStandardFormats(BOOL bEnableLink = TRUE);

Parámetros

bEnableLink
Marca que determina si se va a agregar CF_LINKSOURCE a la lista de formatos que la aplicación puede pegar.

Comentarios

  • CF_BITMAP

  • CF_DIB

  • CF_METAFILEPICT

  • "Objeto insertado"

  • (Opcionalmente) "Origen del vínculo"

Estos formatos se usan para admitir la inserción y la vinculación.

COlePasteSpecialDialog::COlePasteSpecialDialog

Construye un objeto COlePasteSpecialDialog.

COlePasteSpecialDialog(
    DWORD dwFlags = PSF_SELECTPASTE,
    COleDataObject* pDataObject = NULL,
    CWnd* pParentWnd = NULL);

Parámetros

dwFlags
La marca de creación contiene cualquier número de las siguientes marcas, combinadas mediante el operador OR bit a bit:

  • PSF_SELECTPASTE especifica que el botón de radio Pegar se seleccionará inicialmente cuando se llame al cuadro de diálogo. No se puede usar en combinación con PSF_SELECTPASTELINK. Este es el valor predeterminado.

  • PSF_SELECTPASTELINK especifica que el botón de radio Pegar vínculo se seleccionará inicialmente cuando se llame al cuadro de diálogo. No se puede usar en combinación con PSF_SELECTPASTE.

  • PSF_CHECKDISPLAYASICON especifica que la casilla Mostrar como icono se seleccionará inicialmente cuando se llame al cuadro de diálogo.

  • PSF_SHOWHELP especifica que se mostrará el botón Ayuda cuando se llame al cuadro de diálogo.

pDataObject
Apunta a COleDataObject para el pegado. Si este valor es NULL, obtiene COleDataObject del Portapapeles.

pParentWnd
Apunta al objeto de ventana primaria o propietaria (de tipo CWnd) al que pertenece el objeto de cuadro de diálogo. Si es NULL, la ventana primaria del cuadro de diálogo se establece en la ventana principal de la aplicación.

Comentarios

Esta función solo construye un objeto COlePasteSpecialDialog. Para mostrar el cuadro de diálogo, llame a la función DoModal.

Para más información, vea el tipo enumerado OLEUIPASTEFLAG en Windows SDK.

COlePasteSpecialDialog::CreateItem

Crea el nuevo elemento elegido en el cuadro de diálogo Pegado especial.

BOOL CreateItem(COleClientItem* pNewItem);

Parámetros

pNewItem
Apunta a una instancia de COleClientItem. No puede ser NULL.

Valor devuelto

Distinto de cero si el elemento se creó correctamente; en caso contrario, 0.

Comentarios

Solo se debe llamar a esta función después de que DoModal devuelva IDOK.

COlePasteSpecialDialog::DoModal

Muestra el cuadro de diálogo Pegado especial de OLE.

virtual INT_PTR DoModal();

Valor devuelto

Estado de finalización del cuadro de diálogo. Uno de los siguientes valores:

  • IDOK si el cuadro de diálogo se mostró correctamente.

  • IDCANCEL si el usuario canceló el cuadro de diálogo.

  • IDABORT si se produjo un error. Si se devuelve IDABORT, llame a la función miembro COleDialog::GetLastError para obtener más información sobre el tipo de error que se produjo. Para ver una lista de posibles errores, consulte la función OleUIPasteSpecial en Windows SDK.

Comentarios

Si quiere inicializar los distintos controles de cuadro de diálogo estableciendo miembros de la estructura m_ps, debe hacerlo antes de llamar a DoModal, pero después de construir el objeto de cuadro de diálogo.

Si DoModal devuelve IDOK, puede llamar a otras funciones miembro para recuperar la configuración o la información que especificó el usuario en el cuadro de diálogo.

COlePasteSpecialDialog::GetDrawAspect

Determina si el usuario eligió mostrar el elemento seleccionado como un icono.

DVASPECT GetDrawAspect() const;

Valor devuelto

Método necesario para representar el objeto.

  • DVASPECT_CONTENT, se devuelve si la casilla Mostrar como icono no estaba seleccionada cuando se descartó el cuadro de diálogo.

  • DVASPECT_ICON, se devuelve si la casilla Mostrar como icono estaba seleccionada cuando se descartó el cuadro de diálogo.

Comentarios

Llame solo a esta función después de que DoModal devuelva IDOK.

Para más información sobre el aspecto de dibujo, consulte la estructura FORMATETC en Windows SDK.

COlePasteSpecialDialog::GetIconicMetafile

Obtiene el metarchivo asociado al elemento seleccionado por el usuario.

HGLOBAL GetIconicMetafile() const;

Valor devuelto

Identificador del metarchivo que contiene el aspecto de icono del elemento seleccionado, si la casilla Mostrar como icono estaba seleccionada cuando se descartó el cuadro de diálogo mediante Aceptar; en caso contrario, NULL.

COlePasteSpecialDialog::GetPasteIndex

Obtiene el valor de índice asociado a la entrada seleccionada por el usuario.

int GetPasteIndex() const;

Valor devuelto

Índice en la matriz de estructuras OLEUIPASTEENTRY que seleccionó el usuario. El formato que corresponde al índice seleccionado se debe usar al realizar la operación de pegado.

Comentarios

Para más información, consulte la estructura OLEUIPASTEENTRY en Windows SDK.

COlePasteSpecialDialog::GetSelectionType

Determina el tipo de selección que realizó el usuario.

UINT GetSelectionType() const;

Valor devuelto

Devuelve el tipo de selección realizada.

Comentarios

Los valores de tipo de valor devuelto los especifica el tipo de enumeración Selection declarado en la clase COlePasteSpecialDialog.

enum Selection {
    pasteLink,
    pasteNormal,
    pasteOther,
    pasteStatic
    };

A continuación, se describen brevemente estos valores:

  • COlePasteSpecialDialog::pasteLink Se ha seleccionado el botón de radio Pegar vínculo y el formato elegido es un formato OLE estándar.

  • COlePasteSpecialDialog::pasteNormal Se ha seleccionado el botón de radio Pegar y el formato elegido es un formato OLE estándar.

  • COlePasteSpecialDialog::pasteOther El formato seleccionado no es un formato OLE estándar.

  • COlePasteSpecialDialog::pasteStatic El formato elegido era un metarchivo.

COlePasteSpecialDialog::m_ps

Estructura de tipo OLEUIPASTESPECIAL usada para controlar el comportamiento del cuadro de diálogo Pegado especial.

OLEUIPASTESPECIAL m_ps;

Comentarios

Los miembros de esta estructura se pueden modificar directamente o a través de funciones miembro.

Para más información, consulte la estructura OLEUIPASTESPECIAL en Windows SDK.

Consulte también

Ejemplo MFC de OCLIENT
COleDialog (clase)
Gráfico de jerarquías
COleDialog (clase)