Compartir a través de


Clase COleClientItem

Define la interfaz del contenedor a elementos de OLE.

Sintaxis

class COleClientItem : public CDocItem

Miembros

Constructores públicos

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

Métodos públicos

Nombre Descripción
COleClientItem::Activate Abre el elemento OLE para una operación y, a continuación, ejecuta el verbo especificado.
COleClientItem::ActivateAs Activa el elemento como otro tipo.
COleClientItem::AttachDataObject Obtiene acceso a los datos del objeto OLE.
COleClientItem::CanCreateFromData Indica si una aplicación contenedora puede crear un objeto incrustado.
COleClientItem::CanCreateLinkFromData Indica si una aplicación contenedora puede crear un objeto vinculado.
COleClientItem::CanPaste Indica si el Portapapeles contiene un elemento OLE incrustable o estático.
COleClientItem::CanPasteLink Indica si el Portapapeles contiene un elemento OLE vinculable.
COleClientItem::Close Cierra un vínculo a un servidor, pero no destruye el elemento OLE.
COleClientItem::ConvertTo Convierte el elemento a otro tipo.
COleClientItem::CopyToClipboard Copia el elemento OLE al Portapapeles.
COleClientItem::CreateCloneFrom Crea un duplicado de un elemento existente.
COleClientItem::CreateFromClipboard Crea un elemento incrustado desde el Portapapeles.
COleClientItem::CreateFromData Crea un elemento incrustado a partir de un objeto de datos.
COleClientItem::CreateFromFile Crea un elemento incrustado a partir de un archivo.
COleClientItem::CreateLinkFromClipboard Crea un elemento vinculado desde el Portapapeles.
COleClientItem::CreateLinkFromData Crea un elemento vinculado a partir de un objeto de datos.
COleClientItem::CreateLinkFromFile Crea un elemento vinculado a partir de un archivo.
COleClientItem::CreateNewItem Crea un nuevo elemento incrustado al iniciar la aplicación de servidor.
COleClientItem::CreateStaticFromClipboard Crea un elemento vinculado desde el Portapapeles.
COleClientItem::CreateStaticFromData Crea un elemento estático a partir de un objeto de datos.
COleClientItem::Deactivate Desactiva el elemento.
COleClientItem::DeactivateUI Restaura la interfaz de usuario de la aplicación contenedora a su estado original.
COleClientItem::Delete Elimina o cierra el elemento OLE si se trata de un elemento vinculado.
COleClientItem::DoDragDrop Realiza una operación de arrastrar y colocar.
COleClientItem::DoVerb Ejecuta el verbo especificado.
COleClientItem::Draw Dibuja el elemento OLE.
COleClientItem::GetActiveView Obtiene la vista en la que se activa el elemento local.
COleClientItem::GetCachedExtent Devuelve los límites del rectángulo del elemento OLE.
COleClientItem::GetClassID Obtiene el identificador de clase del elemento actual.
COleClientItem::GetClipboardData Obtiene los datos que se colocarían en el Portapapeles al llamar a la función miembro CopyToClipboard.
COleClientItem::GetDocument Devuelve el objeto COleDocument que contiene el elemento presente.
COleClientItem::GetDrawAspect Obtiene la vista actual del elemento para la representación.
COleClientItem::GetExtent Devuelve los límites del rectángulo del elemento OLE.
COleClientItem::GetIconFromRegistry Recupera un manipulador de un icono asociado al servidor de un CLSID determinado.
COleClientItem::GetIconicMetafile Obtiene el metarchivo utilizado para dibujar el icono del elemento.
COleClientItem::GetInPlaceWindow Devuelve un puntero a la ventana de edición local del elemento.
COleClientItem::GetItemState Obtiene el estado actual del elemento.
COleClientItem::GetLastStatus Devuelve el estado de la última operación OLE.
COleClientItem::GetLinkUpdateOptions Devuelve el modo de actualización para un elemento vinculado (característica avanzada).
COleClientItem::GetType Devuelve el tipo (incrustado, vinculado o estático) del elemento OLE.
COleClientItem::GetUserType Obtiene una cadena que describe el tipo del elemento.
COleClientItem::IsInPlaceActive Devuelve TRUE si el elemento está activo en entorno local.
COleClientItem::IsLinkUpToDate Devuelve TRUE si un elemento vinculado está actualizado con su documento de origen.
COleClientItem::IsModified Devuelve TRUE si el elemento se ha modificado desde que se guardó por última vez.
COleClientItem::IsOpen Devuelve TRUE si el elemento está abierto actualmente en la aplicación de servidor.
COleClientItem::IsRunning Devuelve TRUE si se está ejecutando la aplicación de servidor del elemento.
COleClientItem::OnActivate El marco de trabajo llama a esta función para notificar al elemento que está activado.
COleClientItem::OnActivateUI El marco de trabajo llama a esta función para notificar al elemento que está activado y debe mostrar su interfaz de usuario.
COleClientItem::OnChange Se llama a esta función cuando el servidor cambia el elemento OLE. Se requiere la implementación.
COleClientItem::OnDeactivate El marco de trabajo llama a esta función cuando se desactiva un elemento.
COleClientItem::OnDeactivateUI El marco de trabajo llama a esta función cuando el servidor ha quitado su interfaz de usuario local.
COleClientItem::OnGetClipboardData El marco de trabajo llama a esta función para obtener los datos que se van a copiar en el Portapapeles.
COleClientItem::OnInsertMenus El marco de trabajo llama a esta función para crear un menú compuesto.
COleClientItem::OnRemoveMenus El marco de trabajo llama a esta función para quitar los menús del contenedor de un menú compuesto.
COleClientItem::OnSetMenu El marco de trabajo llama a esta función para instalar y quitar un menú compuesto.
COleClientItem::OnShowControlBars El maco de trabajo llama a esta función para mostrar y ocultar barras de control.
COleClientItem::OnUpdateFrameTitle El marco de trabajo llama a esta función para actualizar la barra de título de la ventana de marco.
COleClientItem::ReactivateAndUndo Reactiva el elemento y deshace la última operación de edición local.
COleClientItem::Release Libera la conexión a un elemento vinculado OLE y la cierra si estaba abierta. No destruye el elemento de cliente.
COleClientItem::Reload Recarga el elemento después de una llamada a ActivateAs.
COleClientItem::Run Ejecuta la aplicación asociada al elemento.
COleClientItem::SetDrawAspect Establece la vista actual del elemento para la representación.
COleClientItem::SetExtent Establece el rectángulo delimitador del elemento OLE.
COleClientItem::SetHostNames Establece los nombres que muestra el servidor al editar el elemento OLE.
COleClientItem::SetIconicMetafile Almacena en caché el metarchivo utilizado para dibujar el icono del elemento.
COleClientItem::SetItemRects Establece el rectángulo delimitador del elemento.
COleClientItem::SetLinkUpdateOptions Establece el modo de actualización para un elemento vinculado (característica avanzada).
COleClientItem::SetPrintDevice Establece el dispositivo de destino de impresión para este elemento de cliente.
COleClientItem::UpdateLink Actualiza la caché de presentación de un elemento.

Métodos protegidos

Nombre Descripción
COleClientItem::CanActivate El marco de trabajo llama a esta función para determinar si se permite la activación local.
COleClientItem::OnChangeItemPosition El marco de trabajo llama a esta función cuando cambia la posición de un elemento.
COleClientItem::OnDeactivateAndUndo El marco de trabajo llama a esta función para deshacer la operación después de la activación.
COleClientItem::OnDiscardUndoState El marco de trabajo llama a esta función para descartar la información de estado de deshacer el elemento.
COleClientItem::OnGetClipRect El marco de trabajo llama a esta función para obtener las coordenadas del rectángulo de recorte del elemento.
COleClientItem::OnGetItemPosition El marco de trabajo llama a esta función para obtener la posición del elemento en relación con la vista.
COleClientItem::OnGetWindowContext El marco de trabajo llama a esta función cuando se activa un elemento en el entorno local.
COleClientItem::OnScrollBy El marco de trabajo llama a esta función para desplazar el elemento a la vista.
COleClientItem::OnShowItem El marco de trabajo llama a esta función para mostrar el elemento OLE.

Comentarios

Un elemento OLE representa los datos, creados y mantenidos por una aplicación de servidor, que se pueden incorporar "sin problemas" en un documento para que parezca que el usuario es un único documento. El resultado es un "documento compuesto" formado por el elemento OLE y un documento contenedor.

Un elemento OLE se puede incrustar o vincular. Si se incrusta, sus datos se almacenan como parte del documento compuesto. Si se vincula, sus datos se almacenan como parte de un archivo independiente creado por la aplicación de servidor y solo se almacena un vínculo a ese archivo en el documento compuesto. Todos los elementos OLE contienen información que especifica la aplicación de servidor a la que se debe llamar para la edición.

COleClientItem define varias funciones reemplazables a las que se llama en respuesta a las solicitudes de la aplicación de servidor; estos elementos reemplazables suelen actuar como notificaciones. Esto permite a la aplicación de servidor informar al contenedor de los cambios que realiza el usuario al editar el elemento OLE o recuperar la información necesaria durante la edición.

COleClientItem se puede usar con la clase COleDocument, COleLinkingDoc o COleServerDoc. Para usar COleClientItem, derive una clase de ella e implemente la función miembro OnChange, que define cómo responde el contenedor a los cambios realizados en el elemento. Para admitir la activación local, invalide la función miembro OnGetItemPosition. Esta función proporciona información sobre la posición mostrada del elemento OLE.

Para obtener más información sobre el uso de la interfaz de contenedor, consulte los artículos Contenedores: implementación de un contenedor y Activación.

Nota:

Windows SDK hace referencia a elementos incrustados y vinculados como "objetos" y hace referencia a los tipos de elementos como "clases". Esta referencia usa el término "elemento" para distinguir la entidad OLE del objeto de C++ correspondiente y el término "tipo" para distinguir la categoría OLE de la clase de C++.

Jerarquía de herencia

CObject

CCmdTarget

CDocItem

COleClientItem

Requisitos

Encabezado: afxole.h

COleClientItem::Activate

Llame a esta función para ejecutar el verbo especificado en lugar de DoVerb para que pueda realizar su propio procesamiento cuando se produzca una excepción.

void Activate(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parámetros

nVerb
Especifica el verbo que se va a ejecutar. Puede tener uno de los valores siguientes:

Valor Significado Símbolo
- 0 verbo principal OLEIVERB_PRIMARY
- 1 Verbo secundario (Ninguna)
- 1 Mostrar el elemento para su edición OLEIVERB_SHOW
- 2 Edición del elemento en una ventana independiente OLEIVERB_OPEN
- 3 Ocultar el elemento OLEIVERB_HIDE

El valor -1 suele ser un alias para otro verbo. Si no se admite la edición abierta, -2 tiene el mismo efecto que -1. Para obtener valores adicionales, consulte IOleObject::DoVerb en Windows SDK.

pView
Puntero a la ventana de vista de contenedor que contiene el elemento OLE; la aplicación de servidor usa este elemento para la activación local. Este parámetro debe ser NULL si el contenedor no admite la activación local.

lpMsg
Puntero al mensaje que provocó la activación del elemento.

Comentarios

Si la aplicación de servidor se escribió mediante la Biblioteca de Microsoft Foundation Class, esta función hace que se ejecute la función miembro OnDoVerb del objeto COleServerItem correspondiente.

Si el verbo principal es Edit y se especifica zero en el parámetro nVerb, se inicia la aplicación de servidor para permitir que se edite el elemento OLE. Si la aplicación contenedora admite la activación local, la edición se puede realizar en contexto. Si el contenedor no admite la activación local (o si se especifica el verbo Open), el servidor se inicia en una ventana independiente y se puede editar allí. Normalmente, cuando el usuario de la aplicación contenedora hace doble clic en el elemento OLE, el valor del verbo principal en el parámetro nVerb determina qué acción puede realizar el usuario. Sin embargo, si el servidor solo admite una acción, realiza esa acción, independientemente del valor especificado en el parámetro nVerb.

Para obtener más información, vea IOleObject::D oVerb en Windows SDK.

COleClientItem::ActivateAs

Usa las instalaciones de conversión de objetos de OLE para activar el elemento como si fuera un elemento del tipo especificado por clsidNew.

virtual BOOL ActivateAs(
    LPCTSTR lpszUserType,
    REFCLSID clsidOld,
    REFCLSID clsidNew);

Parámetros

lpszUserType
Puntero a una cadena que representa el tipo de usuario de destino, como, por ejemplo, "Documento de Word".

clsidOld
Referencia al identificador de clase actual del elemento. El identificador de clase debe representar el tipo del objeto real, como se almacena, a menos que sea un vínculo. En ese caso, debe ser el CLSID del elemento al que hace referencia el vínculo. COleConvertDialog proporciona automáticamente el identificador de clase correcto para el elemento.

clsidNew
Referencia al identificador de clase de destino.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

COleConvertDialog::D oConvert realiza la llamada automáticamente. Normalmente, la llamada no se realiza directamente.

COleClientItem::AttachDataObject

Llame a esta función para inicializar un COleDataObject para tener acceso a los datos del elemento OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Parámetros

rDataObject
Referencia a un objeto COleDataObject que se inicializará para permitir el acceso a los datos del elemento OLE.

COleClientItem::CanActivate

El marco de trabajo llama a esta función cuando el usuario solicita la activación local del elemento OLE; el valor que devuelve esta función determina si se permite la activación local.

virtual BOOL CanActivate();

Valor devuelto

Distinto de cero si se permite la activación local; de lo contrario, 0.

Comentarios

La implementación predeterminada permite la activación local si el contenedor tiene una ventana válida. Invalide esta función para implementar lógica especial para aceptar o rechazar la solicitud de activación. Por ejemplo, se puede rechazar una solicitud de activación si el elemento OLE es demasiado pequeño o no está visible actualmente.

Para obtener más información, vea IOleInPlaceSite::CanInPlaceActivate en Windows SDK.

COleClientItem::CanCreateFromData

Comprueba si una aplicación contenedora puede crear un objeto incrustado a partir del objeto especificado COleDataObject.

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Parámetros

pDataObject
Puntero al objeto COleDataObject desde el que se va a crear el elemento OLE.

Valor devuelto

Distinto de cero si el contenedor puede crear un objeto incrustado a partir del objeto COleDataObject; en caso contrario, 0.

Comentarios

La clase COleDataObject se usa en las transferencias de datos para recuperar datos en diferentes formatos del Portapapeles, mediante arrastrar y colocar o a partir de un elemento OLE incrustado.

Los contenedores pueden usar esta función para decidir si se debe habilitar o deshabilitar sus comandos Edit Paste y Edite Paste Special.

Para obtener más información, consulte el artículo Objetos de datos y orígenes de datos (OLE).

COleClientItem::CanCreateLinkFromData

Comprueba si una aplicación contenedora puede crear un objeto vinculado a partir del objeto COleDataObject especificado.

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Parámetros

pDataObject
Puntero al objeto COleDataObject desde el que se va a crear el elemento OLE.

Valor devuelto

Distinto de cero si el contenedor puede crear un objeto vinculado a partir del objeto COleDataObject.

Comentarios

La clase COleDataObject se usa en las transferencias de datos para recuperar datos en diferentes formatos del Portapapeles, mediante arrastrar y colocar o a partir de un elemento OLE incrustado.

Los contenedores pueden usar esta función para decidir si se debe habilitar o deshabilitar sus comandos Edit Paste Special y Edite Paste Link.

Para obtener más información, consulte el artículo Objetos de datos y orígenes de datos (OLE).

COleClientItem::CanPaste

Llame a esta función para ver si se puede pegar un elemento OLE incrustado desde el Portapapeles.

static BOOL PASCAL CanPaste();

Valor devuelto

Distinto de cero si se puede pegar un elemento OLE incrustado desde el Portapapeles; de lo contrario, 0.

Comentarios

Para obtener más información, consulte OleGetClipboard y OleQueryCreateFromData en Windows SDK.

Llame a esta función para ver si se puede pegar un elemento OLE incrustado desde el Portapapeles.

static BOOL PASCAL CanPasteLink();

Valor devuelto

Distinto de cero si se puede pegar un elemento OLE vinculado desde el Portapapeles; de lo contrario, 0.

Comentarios

Para obtener más información, consulte OleGetClipboard y OleQueryLinkFromData en Windows SDK.

COleClientItem::Close

Llame a esta función para cambiar el estado de un elemento OLE del estado en ejecución al estado cargado, es decir, cargado con su controlador en memoria, pero cuando el servidor no se esté ejecutando.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Parámetros

dwCloseOption
Marca que especifica en qué circunstancias se guarda el elemento OLE cuando vuelve al estado cargado. Puede tener uno de los siguientes valores:

  • OLECLOSE_SAVEIFDIRTY guarda el elemento OLE.

  • OLECLOSE_NOSAVE no guarda el elemento OLE.

  • OLECLOSE_PROMPTSAVE pregunta al usuario si desea guardar el elemento OLE.

Comentarios

Esta función no tiene ningún efecto cuando el elemento OLE no se está ejecutando.

Para obtener más información, vea IOleObject::Close en Windows SDK.

COleClientItem::COleClientItem

Construye un objeto COleClientItem y lo agrega a la colección del documento contenedor de elementos de documento, que construye solo el objeto de C++ y no realiza ninguna inicialización OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Parámetros

pContainerDoc
Puntero al documento contenedor que contendrá este elemento. Puede ser cualquier derivado de COleDocument.

Comentarios

Si pasa un puntero NULL, no se realiza ninguna adición al documento contenedor. Debe llamar explícitamente a la funciónCOleDocument::AddItem.

Debe llamar a una de las siguientes funciones miembro de creación antes de usar el elemento OLE:

COleClientItem::ConvertTo

Llame a esta función miembro para convertir el elemento en el tipo especificado por clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Parámetros

clsidNew
Identificador de clase del tipo de destino.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

COleConvertDialog realiza la llamada automáticamente. No es necesario realizar la llamada directa.

COleClientItem::CopyToClipboard

Llame a esta función para copiar el elemento OLE en el Portapapeles.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parámetros

bIncludeLink
TRUE si se debe copiar la información del vínculo en el Portapapeles, lo que permite pegar un elemento vinculado; en caso contrario, FALSE.

Comentarios

Normalmente, se llama a esta función al escribir controladores de mensajes para los comandos Copiar o Cortar desde el menú Editar. Debe implementar la selección de elementos en la aplicación contenedora si desea implementar los comandos Copiar o Cortar.

Para más información, consulte OleSetClipboard en Windows SDK.

COleClientItem::CreateCloneFrom

Llame a esta función para crear una copia del elemento OLE especificado.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Parámetros

pSrcItem
Puntero al elemento OLE que se va a duplicar.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

La copia es idéntica al elemento de origen. Puede usar esta función para admitir operaciones de deshacer.

COleClientItem::CreateFromClipboard

Llame a esta función para crear un elemento incrustado a partir del contenido del Portapapeles.

BOOL CreateFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Esta función suele llamarse desde el controlador de mensajes para el comando Pegar en el menú Editar. (El marco de trabajo habilita el comando Paste si la función miembro CanPaste devuelve un valor distinto de cero).

Para obtener más información, consulte OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateFromData

Llame a esta función para crear un elemento incrustado a partir de un objeto COleDataObject.

BOOL CreateFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

pDataObject
Puntero al objeto COleDataObject desde el que se va a crear el elemento OLE.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Las operaciones de transferencia de datos, como pegar datos desde el Portapapeles o las operaciones de arrastrar y colocar, proporcionan objetos COleDataObject que contienen la información que ofrece una aplicación de servidor. Normalmente se usa en la invalidación de CView::OnDrop.

Para obtener más información, consulte OleCreateFromData, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateFromFile

Llame a esta función para crear un elemento OLE incrustado a partir de un archivo.

BOOL CreateFromFile(
    LPCTSTR lpszFileName,
    REFCLSID clsid = CLSID_NULL,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

lpszFileName
Puntero al nombre del archivo desde el que se va a crear el elemento OLE.

clsid
Reservado para uso futuro.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

El marco de trabajo llama a esta función desde COleInsertDialog::CreateItem si el usuario elige Aceptar en el cuadro de diálogo Insertar objeto cuando se selecciona el botón Crear desde archivo.

Para obtener más información, consulte OleCreateFromFile, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateLinkFromClipboard

Llame a esta función para crear un elemento vinculado a partir del contenido del Portapapeles.

BOOL CreateLinkFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Esta función suele llamarse desde el controlador de mensajes para el comando Paste Link en el menú Editar. (El comando Paste Link está habilitado en la implementación predeterminada de COleDocument si el Portapapeles contiene un elemento OLE al que se puede vincular).

Para obtener más información, consulte OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateLinkFromData

Llame a esta función para crear un elemento vinculado a partir de un objeto COleDataObject.

BOOL CreateLinkFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

pDataObject
Puntero al objeto COleDataObject desde el que se va a crear el elemento OLE.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Llame a esta función durante una operación de eliminación cuando el usuario indique que se debe crear un vínculo. También se puede usar para controlar el comando Edit Paste. El marco de trabajo llama esta función en COleClientItem::CreateLinkFromClipboard y en COlePasteSpecialDialog::CreateItem cuando se ha seleccionado la opción Link.

Para obtener más información, consulte OleCreateLinkFromData, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateLinkFromFile

Llame a esta función para crear un elemento OLE vinculado a partir de un archivo.

BOOL CreateLinkFromFile(
    LPCTSTR lpszFileName,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

lpszFileName
Puntero al nombre del archivo desde el que se va a crear el elemento OLE.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

El marco de trabajo llama a esta función desde si el usuario elige Aceptar en el cuadro de diálogo Insertar objeto cuando se selecciona el botón Crear desde archivo y se activa la casilla de verificación Vínculo. Esta función se llama desde COleInsertDialog::CreateItem.

Para obtener más información, consulte OleCreateLinkToFile, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateNewItem

Llame a esta función para crear un elemento incrustado; esta función inicia la aplicación de servidor que permite al usuario crear el elemento OLE.

BOOL CreateNewItem(
    REFCLSID clsid,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

clsid
Identificador que identifica de forma única el tipo de elemento OLE que se va a crear.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

El marco llama a esta función si el usuario elige Aceptar en el cuadro de diálogo Insertar objeto cuando se selecciona el botón Crear nuevo.

Para obtener más información, consulte OleCreate, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateStaticFromClipboard

Llame a esta función para crear un elemento estático a partir del contenido del Portapapeles.

BOOL CreateStaticFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Un elemento estático contiene los datos de presentación, pero no los datos nativos; por lo tanto, no se puede editar. Esta función se suele llamar si se produce un error en la función miembro CreateFromClipboard.

Para obtener más información, consulte OLERENDER y FORMATETC en Windows SDK.

COleClientItem::CreateStaticFromData

Llame a esta función para crear un elemento estático a partir de un objeto COleDataObject.

BOOL CreateStaticFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

Parámetros

pDataObject
Puntero al objeto COleDataObject desde el que se va a crear el elemento OLE.

render
Marca que especifica cómo el servidor representará el elemento OLE. Para conocer los valores posibles, consulte OLERENDER en Windows SDK.

cfFormat
Especifica el formato de datos del Portapapeles que se va a almacenar en caché al crear el elemento OLE.

lpFormatEtc
Puntero a una estructura FORMATETC que se usa si render es OLERENDER_FORMAT o OLERENDER_DRAW. Proporcione un valor para este parámetro solo si desea especificar información de formato adicional más allá del formato del Portapapeles especificado por cfFormat. Si omite este parámetro, se usarán los valores predeterminados para los demás campos de la estructuraFORMATETC.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Un elemento estático contiene los datos de presentación, pero no los datos nativos; por lo tanto, no se puede editar. Básicamente, esto es lo mismo que CreateStaticFromClipboard, excepto que se puede crear un elemento estático a partir de un elemento COleDataObject arbitrario, no solo desde el Portapapeles.

Se usa en COlePasteSpecialDialog::CreateItem cuando se selecciona Static.

Para obtener más información, consulte OleCreateStaticFromData, OLERENDER y FORMATETC en Windows SDK.

COleClientItem::Deactivate

Llame a esta función para desactivar el elemento OLE y liberar los recursos asociados.

void Deactivate();

Comentarios

Normalmente, desactiva un elemento OLE activo local cuando el usuario hace clic en el mouse en el área cliente fuera de los límites del elemento. Tenga en cuenta que la desactivación del elemento OLE descartará su estado de deshacer, lo que hace imposible llamar a la función miembro ReactivateAndUndo.

Si la aplicación admite deshacer, no llame a Deactivate; en su lugar, llame a DeactivateUI.

Para obtener más información, vea IOleInPlaceObject::InPlaceDeactivate en Windows SDK.

COleClientItem::DeactivateUI

Llame a esta función cuando el usuario desactive un elemento que se activó en su lugar.

void DeactivateUI();

Comentarios

Esta función restaura la interfaz de usuario de la aplicación contenedora a su estado original y oculta los menús junto con otros controles creados para la activación local.

Esta función no vacía la información de estado de deshacer para el elemento. Esa información se conserva para que ReactivateAndUndo se pueda usar más adelante para ejecutar un comando de deshacer en la aplicación de servidor, en caso de que el comando de deshacer del contenedor se elija inmediatamente después de desactivar el elemento.

Para obtener más información, vea IOleInPlaceObject::InPlaceDeactivate en Windows SDK.

COleClientItem::Delete

Llame a esta función para eliminar el elemento OLE del documento de contenedor.

void Delete(BOOL bAutoDelete = TRUE);

Parámetros

bAutoDelete
Especifica si el elemento se va a quitar del documento.

Comentarios

Esta función llama a la función miembro Release, que a su vez elimina el objeto de C++ para el elemento, quitando permanentemente el elemento OLE del documento. Si el elemento OLE está incrustado, se eliminan los datos nativos del elemento. Siempre cierra un servidor en ejecución; por lo tanto, si el elemento es un vínculo abierto, esta función la cierra.

COleClientItem::DoDragDrop

Llame a la función miembro DoDragDrop para realizar una operación de arrastrar y colocar.

DROPEFFECT DoDragDrop(
    LPCRECT lpItemRect,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

Parámetros

lpItemRect
Rectángulo del elemento en pantalla en coordenadas de cliente (píxeles).

ptOffset
El desplazamiento en lpItemRect donde se encontraba la posición del ratón en el momento del arrastre.

bIncludeLink
Establezca este elemento en TRUE si los datos del vínculo se deben copiar en el Portapapeles. Establezca este elemento en FALSE si la aplicación de servidor no admite vínculos.

dwEffects
Determina los efectos que permitirá el origen de arrastre en la operación de arrastre.

lpRectStartDrag
Puntero al rectángulo que define dónde se inicia realmente el arrastre. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Valor devuelto

Valor DROPEFFECT. Si es DROPEFFECT_MOVE, se deben quitar los datos originales.

Comentarios

La operación de arrastrar y colocar no se inicia inmediatamente. Espera hasta que el cursor del mouse salga del rectángulo especificado por lpRectStartDrag o hasta que haya transcurrido un número especificado de milisegundos. Si lpRectStartDrag es NULL, el tamaño del rectángulo es de un píxel.

El tiempo de retraso se especifica con una configuración de clave del Registro. Llame a CWinApp::WriteProfileString o CWinApp::WriteProfileInt para cambiar el tiempo de retraso. Si no especifica el tiempo de retraso, se usará un valor predeterminado de 200 milisegundos. El tiempo de retraso de arrastre se almacena de la siguiente manera:

  • El tiempo de retraso de arrastre de Windows NT se almacena en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • El tiempo de retraso de arrastre de Windows 3.x se almacena en el archivo WIN.INI, en la sección [Windows}.

  • El tiempo de retraso de arrastre de Windows 95/98 se almacena en una versión almacenada en caché de WIN.INI.

Para obtener más información sobre cómo se almacena la información de retraso de arrastre en el Registro o en el archivo .INI, consulte WriteProfileString en Windows SDK.

COleClientItem::DoVerb

Llame a DoVerb para ejecutar el verbo especificado.

virtual BOOL DoVerb(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

Parámetros

nVerb
Especifica el verbo que se va a ejecutar. Puede incluir uno de los siguientes valores:

Valor Significado Símbolo
- 0 verbo principal OLEIVERB_PRIMARY
- 1 Verbo secundario (Ninguna)
- 1 Mostrar el elemento para su edición OLEIVERB_SHOW
- 2 Edición del elemento en una ventana independiente OLEIVERB_OPEN
- 3 Ocultar el elemento OLEIVERB_HIDE

El valor -1 suele ser un alias para otro verbo. Si no se admite la edición abierta, -2 tiene el mismo efecto que -1. Para obtener valores adicionales, consulte IOleObject::DoVerb en Windows SDK.

pView
Puntero a la ventana de vista; el servidor usa esto para la activación local. Este parámetro debe ser NULL si la aplicación contenedora no permite la activación local.

lpMsg
Puntero al mensaje que provocó la activación del elemento.

Valor devuelto

Distinto de cero si el verbo se ejecutó correctamente; de lo contrario, 0.

Comentarios

Esta función llama a la función miembro Activate para ejecutar el verbo. También detecta excepciones y muestra un cuadro de mensaje al usuario si se produce uno.

Si el verbo principal es Edit y se especifica zero en el parámetro nVerb, se inicia la aplicación de servidor para permitir que se edite el elemento OLE. Si la aplicación contenedora admite la activación local, la edición se puede realizar en contexto. Si el contenedor no admite la activación local (o si se especifica el verbo Open), el servidor se inicia en una ventana independiente y se puede editar allí. Normalmente, cuando el usuario de la aplicación contenedora hace doble clic en el elemento OLE, el valor del verbo principal en el parámetro nVerb determina qué acción puede realizar el usuario. Sin embargo, si el servidor solo admite una acción, realiza esa acción, independientemente del valor especificado en el parámetro nVerb.

COleClientItem::Draw

Llame a esta función para dibujar el elemento OLE en el rectángulo delimitador especificado mediante el contexto de dispositivo especificado.

BOOL Draw(
    CDC* pDC,
    LPCRECT lpBounds,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parámetros

pDC
Puntero a un objeto CDC que se usa para dibujar el elemento OLE.

lpBounds
Puntero a un objeto CRect o estructura RECT que define el rectángulo delimitador en el que se va a dibujar el elemento OLE (en unidades lógicas determinadas por el contexto del dispositivo).

nDrawAspect
Especifica el aspecto del elemento OLE, es decir, cómo se debe mostrar. Si nDrawAspect es -1, se usa el último conjunto de aspectos mediante SetDrawAspect. Para obtener más información sobre posibles valores para esta marca, vea SetDrawAspect.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

La función puede usar la representación del metarchivo del elemento OLE que creó la función miembro OnDraw de COleServerItem.

Normalmente se usa Draw para la pantalla, pasando el contexto del dispositivo de pantalla como pDC. En este caso, solo debe especificar los dos primeros parámetros.

El parámetro lpBounds identifica el rectángulo en el contexto del dispositivo de destino (en relación con su modo de asignación actual). La representación puede implicar el escalado de la imagen y se puede usar en las aplicaciones contenedoras para imponer una vista que se escala entre la vista mostrada y la imagen impresa final.

Para obtener más información, vea IViewObject::Draw en Windows SDK.

COleClientItem::GetActiveView

Devuelve la vista en la que se activa el elemento local.

CView* GetActiveView() const;

Valor devuelto

Puntero a la vista; de lo contrario, NULL si el elemento no está activado de forma local.

COleClientItem::GetCachedExtent

Llame a esta función para recuperar el tamaño del elemento OLE.

BOOL GetCachedExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)-1);

Parámetros

lpSize
Puntero a una estructura SIZE o un objeto CSize que recibirá la información de tamaño.

nDrawAspect
Especifica el aspecto del elemento OLE cuyos límites se van a recuperar. Para ver los valores posibles, consulte SetDrawAspect.

Valor devuelto

Distinto de cero si se realiza correctamente; 0 si el elemento OLE está en blanco.

Comentarios

Esta función proporciona la misma información que GetExtent. Sin embargo, puede llamar a GetCachedExtent para obtener información de extensión durante el procesamiento de otros controladores OLE, como OnChange. Las dimensiones están en unidades de MM_HIMETRIC.

Esto es posible porque GetCachedExtent usa la interfaz IViewObject2 en lugar de usar la interfaz IOleObject para obtener la extensión de este elemento. El objeto COM IViewObject2 almacena en caché la información de extensión utilizada en la llamada anterior a IViewObject::Draw.

Para obtener más información, vea IViewObject2::GetExtent en Windows SDK.

COleClientItem::GetClassID

Devuelve el identificador de clase del elemento en la memoria a la que apunta pClassID.

void GetClassID(CLSID* pClassID) const;

Parámetros

pClassID
Puntero a un identificador de tipo CLSID para recuperar el identificador de clase. Para obtener información sobre CLSID, consulte Windows SDK.

Comentarios

El identificador de clase es un número de 128 bits que identifica de forma única la aplicación que edita el elemento.

Para obtener más información, vea IPersist::GetClassID en Windows SDK.

COleClientItem::GetClipboardData

Llame a esta función para obtener un objeto COleDataSource que contenga todos los datos que se colocarían en el Portapapeles mediante una llamada a la función miembro CopyToClipboard.

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

Parámetros

pDataSource
Puntero a un objeto COleDataSource que recibirá los datos contenidos en el elemento OLE.

bIncludeLink
TRUE si se deben incluir datos de vínculo; en caso contrario, FALSE.

lpOffset
El desplazamiento del cursor del ratón desde el origen del objeto en píxeles.

lpSize
El tamaño del objeto en píxeles.

Comentarios

GetClipboardData se llama como implementación predeterminada de OnGetClipboardData. Invalide OnGetClipboardData solo si desea ofrecer formatos de datos además de los que ofrece CopyToClipboard. Coloque esos formatos en el objeto COleDataSource antes o después de llamar a CopyToClipboard y, a continuación, pase el objeto COleDataSource a la función COleDataSource::SetClipboard. Por ejemplo, si desea que la posición del elemento OLE en su documento contenedor lo acompañe en el Portapapeles, debe definir su propio formato para pasar esa información y colocarla en COleDataSource antes de llamar a CopyToClipboard.

COleClientItem::GetDocument

Llame a esta función para obtener un puntero al documento que contiene el elemento OLE.

COleDocument* GetDocument() const;

Valor devuelto

Puntero al documento que contiene el elemento OLE. NULL si el elemento no forma parte de un documento.

Comentarios

Este puntero permite el acceso al objeto COleDocument que pasó como argumento al constructor COleClientItem.

COleClientItem::GetDrawAspect

Llame a la función miembro GetDrawAspect para determinar el "aspecto" actual o la vista del elemento.

DVASPECT GetDrawAspect() const;

Valor devuelto

Valor de la enumeración DVASPECT, cuyos valores se enumeran en la referencia de SetDrawAspect.

Comentarios

El aspecto especifica cómo se va a representar el elemento.

COleClientItem::GetExtent

Llame a esta función para recuperar el tamaño del elemento OLE.

BOOL GetExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)- 1);

Parámetros

lpSize
Puntero a una estructura SIZE o un objeto CSize que recibirá la información de tamaño.

nDrawAspect
Especifica el aspecto del elemento OLE cuyos límites se van a recuperar. Para ver los valores posibles, consulte SetDrawAspect.

Valor devuelto

Distinto de cero si se realiza correctamente; 0 si el elemento OLE está en blanco.

Comentarios

Si la aplicación de servidor se escribió mediante la Biblioteca de Microsoft Foundation Class, esta función hace que se llame la función miembro OnGetExtent del objeto COleServerItem correspondiente. Tenga en cuenta que el tamaño recuperado puede diferir del último conjunto establecido por la función miembro SetExtent; el tamaño especificado por SetExtent se trata como una sugerencia. Las dimensiones están en unidades de MM_HIMETRIC.

Nota:

No llame a GetExtent durante el procesamiento de un controlador OLE, como, por ejemplo, OnChange. Llame a GetCachedExtent en su lugar.

Para obtener más información, vea IOleObject::GetExtent en Windows SDK.

COleClientItem::GetIconFromRegistry

Llame a esta función miembro para recuperar un manipulador de un recurso de icono asociado al servidor de un CLSID determinado.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Parámetros

clsid
Referencia al CLSID del servidor asociado al icono.

Valor devuelto

Identificador válido para el recurso de icono, o NULL si no se encuentra el icono del servidor o un icono predeterminado.

Comentarios

Esta función miembro no iniciará el servidor ni obtendrá un icono dinámicamente, incluso si el servidor ya se está ejecutando. En su lugar, esta función miembro abre la imagen ejecutable del servidor y recupera el icono estático asociado al servidor tal como se registró.

COleClientItem::GetIconicMetafile

Almacena en caché el metarchivo utilizado para dibujar el icono del elemento.

HGLOBAL GetIconicMetafile();

Valor devuelto

Identificador del metarchivo si se ejecuta correctamente; en caso contrario, NULL.

Comentarios

Si no hay ningún icono actual, se devuelve un icono predeterminado. Los diálogos MFC/OLE llaman automáticamente a esta función y normalmente no se llama directamente.

Esta función también llama a SetIconicMetafile para almacenar en caché el metarchivo para su uso posterior.

COleClientItem::GetInPlaceWindow

Llame a la función miembro GetInPlaceWindow para obtener un puntero a la ventana en la que se ha abierto el elemento para la edición local.

CWnd* GetInPlaceWindow();

Valor devuelto

Puntero a la ventana de edición local del elemento; NULL si el elemento no está activo o si su servidor no está disponible.

Comentarios

Solo se debe llamar a esta función para los elementos que están activos de forma local.

COleClientItem::GetItemState

Llame a esta función para obtener el estado actual del elemento OLE.

UINT GetItemState() const;

Valor devuelto

Valor enumerado COleClientItem::ItemState, que puede ser uno de los siguientes: emptyState, loadedState, openState, activeState, activeUIState. Para obtener información sobre estos estados, consulte el artículo Contenedores: estados cliente-elemento.

Comentarios

Para recibir una notificación cuando cambie el estado del elemento OLE, use la función miembro OnChange.

Para obtener más información, consulte el artículo Contenedores: estados cliente-elemento.

COleClientItem::GetLastStatus

Devuelve el código de estado de la última operación OLE.

SCODE GetLastStatus() const;

Valor devuelto

Valor SCODE.

Comentarios

Para las funciones miembro que devuelven un valor BOOL FALSE u otras funciones miembro que devuelven NULL, GetLastStatus devuelve información de error más detallada. Tenga en cuenta que la mayoría de las funciones miembro OLE producen excepciones para errores más graves. La información específica sobre la interpretación del SCODE depende de la llamada OLE subyacente que devolvió por última vez un valor SCODE.

Para obtener más información sobre SCODE, vea Estructura de códigos de error COM en la documentación de Windows SDK.

COleClientItem::GetLinkUpdateOptions

Llame a esta función para obtener el valor actual de la opción link-update para el elemento OLE.

OLEUPDATE GetLinkUpdateOptions();

Valor devuelto

Uno de los valores siguientes:

  • OLEUPDATE_ALWAYS Actualiza el elemento vinculado siempre que sea posible. Esta opción admite el botón de radio Actualización automática de vínculos en el cuadro de diálogo Vínculos.

  • OLEUPDATE_ONCALL Actualiza el elemento vinculado solo a petición de la aplicación contenedora (cuando se llama a la función miembro UpdateLink). Esta opción admite el botón de radio Actualización manual de vínculos en el cuadro de diálogo Vínculos.

Comentarios

Se trata de una operación avanzada.

La clase COleLinksDialog llama automáticamente a esta función.

Para obtener más información, vea IOleLink::GetUpdateOptions en Windows SDK.

COleClientItem::GetType

Llame a esta función para determinar si el elemento OLE está incrustado, vinculado o si es estático.

OLE_OBJTYPE GetType() const;

Valor devuelto

Entero sin signo con uno de los valores siguientes:

  • OT_LINK El elemento OLE es un vínculo.

  • OT_EMBEDDED El elemento OLE está incrustado.

  • OT_STATIC El elemento OLE es estático, es decir, solo contiene datos de presentación sin datos nativos y, por lo tanto, no se puede editar.

COleClientItem::GetUserType

Llame a esta función para obtener la cadena visible para el usuario que describe el tipo del elemento OLE, como, por ejemplo, "Documento de Word".

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Parámetros

nUserClassType
Valor que indica la variante deseada de la cadena que describe el tipo del elemento OLE. Puede tener uno de los siguientes valores:

  • USERCLASSTYPE_FULL Nombre de tipo completo que se muestra al usuario.

  • USERCLASSTYPE_SHORT Nombre corto (máximo de 15 caracteres) para el uso en menús emergentes y el cuadro de diálogo Editar vínculos.

  • USERCLASSTYPE_APPNAME Nombre de la aplicación que presta servicio a la clase.

rString
Referencia a un objeto CString al que se va a devolver la cadena que describe el tipo del elemento OLE.

Comentarios

Suele ser la entrada en la base de datos de registro del sistema.

Si se solicita el nombre de tipo completo, pero este no está disponible, se usará en su lugar el nombre corto. Si no se encuentra ninguna entrada para el tipo de elemento OLE en la base de datos de registro o si no hay ningún tipo de usuario registrado para el tipo de elemento OLE, se usará el tipo de usuario almacenado actualmente en el elemento OLE. Si ese nombre de tipo de usuario es una cadena vacía, se usará "Objeto desconocido".

Para obtener más información, vea IOleObject::GetUserType en Windows SDK.

COleClientItem::IsInPlaceActive

Llame a esta función para ver si el elemento OLE está activo en el entorno local.

BOOL IsInPlaceActive() const;

Valor devuelto

Distinto de cero si el elemento OLE está activo en el entorno local; de lo contrario, 0.

Comentarios

Es habitual ejecutar una lógica diferente en función de si el elemento se está editando en el entorno local. La función comprueba si el estado del elemento actual es igual aactiveState o activeUIState.

COleClientItem::IsLinkUpToDate

Llame a esta función para ver si el elemento OLE está actualizado.

BOOL IsLinkUpToDate() const;

Valor devuelto

Distinto de cero si el elemento OLE está actualizado; de lo contrario, 0.

Comentarios

Un elemento vinculado puede estar obsoleto si se ha actualizado su documento de origen. Un elemento incrustado que contiene vínculos dentro de él puede quedar obsoleto de forma similar. La función realiza una comprobación recursiva del elemento OLE. Tenga en cuenta que determinar si un elemento OLE está obsoleto puede ser tan costoso como si se realiza una actualización.

La implementación de COleLinksDialog llama automáticamente a esta función.

Para obtener más información, vea IOleObject::IsUpToDate en Windows SDK.

COleClientItem::IsModified

Llame a esta función para ver si el elemento OLE está sucio (modificado desde que se guardó por última vez).

BOOL IsModified() const;

Valor devuelto

Distinto de cero si el elemento OLE está sucio; de lo contrario, 0.

Comentarios

Para obtener más información, vea IPersistStorage::IsDirty en Windows SDK.

COleClientItem::IsOpen

Llame a esta función para ver si el elemento OLE está abierto; es decir, si está abierto en una instancia de la aplicación de servidor que se ejecuta en una ventana independiente.

BOOL IsOpen() const;

Valor devuelto

Distinto de cero si el elemento OLE está abierto; de lo contrario, 0.

Comentarios

Se usa para determinar cuándo dibujar el objeto con un patrón de sombreado. Un objeto abierto debe tener un patrón de sombreado dibujado sobre el objeto. Puede usar el objeto CRectTracker para hacerlo.

COleClientItem::IsRunning

Llame a esta función para ver si el elemento OLE se está ejecutando; es decir, si el elemento se carga y se ejecuta en la aplicación de servidor.

BOOL IsRunning() const;

Valor devuelto

Distinto de cero si el elemento OLE está en ejecución; de lo contrario, 0.

Comentarios

Para más información, consulte OleIsRunning en Windows SDK.

COleClientItem::OnActivate

El marco de trabajo llama a esta clase para notificar al elemento que acaba de activarse en el entorno local.

virtual void OnActivate();

Comentarios

Tenga en cuenta que se llama a esta función para indicar que el servidor se está ejecutando, no para indicar que su interfaz de usuario se ha instalado en la aplicación contenedora. En este momento, el objeto no tiene una interfaz de usuario activa (no es activeUIState). No ha instalado sus menús ni la barra de herramientas. Cuando esto sucede, se llama a la función miembro OnActivateUI.

La implementación predeterminada llama a la función miembro OnChange con OLE_CHANGEDSTATE como parámetro. Invalide esta función para realizar el procesamiento personalizado cuando un elemento se activa en el entorno local.

COleClientItem::OnActivateUI

El marco de trabajo llama a OnActivateUI cuando el objeto ha entrado en el estado de la interfaz de usuario activa.

virtual void OnActivateUI();

Comentarios

El objeto ha instalado ahora su barra de herramientas y sus menús.

La implementación predeterminada recuerda el HWND del servidor para las llamadas posteriores a GetServerWindow.

COleClientItem::OnChange

El marco de trabajo llama a esta clase cuando el usuario modifica, guarda o cierra el elemento OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Parámetros

nCode
Motivo por el que el servidor cambió este elemento. Puede tener uno de los siguientes valores:

  • OLE_CHANGED Ha cambiado la apariencia del elemento OLE.

  • OLE_SAVED Se ha guardado el elemento OLE.

  • OLE_CLOSED Se ha cerrado el elemento OLE.

  • OLE_CHANGED_STATE El elemento OLE ha cambiado de un estado a otro.

dwParam
Si nCode es OLE_SAVED o OLE_CLOSED, este parámetro no se usa. Si nCode es OLE_CHANGED, este parámetro especifica el aspecto del elemento OLE que ha cambiado. Para conocer los valores posibles, consulte el parámetro dwParam de COleClientItem::Draw. Si nCode es OLE_CHANGED_STATE, este parámetro es un valor enumerado COleClientItem::ItemState y describe el estado especificado. Puede tener uno de los siguientes valores: emptyState, loadedState, openState, activeState o activeUIState.

Comentarios

(Si la aplicación de servidor se escribe mediante la biblioteca Microsoft Foundation Class, se llama a esta función en respuesta a las funciones miembro Notify de COleServerDoc o COleServerItem). La implementación predeterminada marca el documento contenedor como modificado si nCode es OLE_CHANGED o OLE_SAVED.

Para OLE_CHANGED_STATE, el estado actual devuelto de GetItemState seguirá siendo el estado anterior, es decir, el estado que era el actual antes de este cambio de estado.

Invalide esta función para responder a los cambios en el estado del elemento OLE. Normalmente, se actualiza la apariencia del elemento al invalidar el área en la que se muestra el elemento. Llame a la implementación de la clase base al principio de la invalidación.

COleClientItem::OnChangeItemPosition

El marco de trabajo llama a esta clase para notificar al contenedor de que la extensión del elemento OLE ha cambiado durante la activación local.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Parámetros

rectPos
Indica la posición del elemento en relación con el área cliente de la aplicación contenedora.

Valor devuelto

Distinto de cero si la posición del elemento se cambia correctamente; de lo contrario, 0.

Comentarios

La implementación predeterminada determina el nuevo rectángulo visible del elemento OLE y llama a SetItemRects con los nuevos valores. La implementación predeterminada calcula el rectángulo visible para el elemento y pasa esa información al servidor.

Invalide esta función para aplicar reglas especiales a la operación de cambio de tamaño o movimiento. Si la aplicación está escrita en MFC, esta llamada se produce porque el servidor llamó a COleServerDoc::RequestPositionChange.

COleClientItem::OnDeactivate

El marco de trabajo llama a esta función cuando el elemento OLE pasa del estado activo local (activeState) al estado cargado, lo que significa que se desactiva después de una activación local.

virtual void OnDeactivate();

Comentarios

Tenga en cuenta que se llama a esta función para indicar que el elemento OLE está cerrado, no que su interfaz de usuario se haya quitado de la aplicación contenedora. Cuando esto sucede, se llama a la función miembro OnDeactivateUI.

La implementación predeterminada llama a la función miembro OnChange con OLE_CHANGEDSTATE como parámetro. Invalide esta función para realizar el procesamiento personalizado cuando se desactiva un elemento activo en el entorno local. Por ejemplo, si admite el comando deshacer en la aplicación contenedora, puede invalidar esta función para descartar el estado de deshacer, lo que indica que la última operación realizada en el elemento OLE no se puede deshacer una vez desactivado el elemento.

COleClientItem::OnDeactivateAndUndo

El marco de trabajo llama a esta función cuando el usuario invoca el comando tras activar el elemento OLE en el entorno local.

virtual void OnDeactivateAndUndo();

Comentarios

La implementación predeterminada llama a DeactivateUI para desactivar la interfaz de usuario del servidor. Invalide esta función si va a implementar el comando deshacer en la aplicación contenedora. En la invalidación, llame a la versión de clase base de la función y, a continuación, deshaga el último comando ejecutado en la aplicación.

Para obtener más información, vea IOleInPlaceSite::DeactivateAndUndo en Windows SDK.

COleClientItem::OnDeactivateUI

Se llama a esta función cuando el usuario desactiva un elemento que estaba activo en el entorno local.

virtual void OnDeactivateUI(BOOL bUndoable);

Parámetros

bUndoable
Especifica si los cambios de edición se pueden deshacer.

Comentarios

Esta función restaura la interfaz de usuario de la aplicación contenedora a su estado original y oculta los menús junto con otros controles creados para la activación local.

Si bUndoable es FALSE, el contenedor debe deshabilitar el comando deshacer en efecto, lo que descarta el estado de deshacer del contenedor, ya que indica que la última operación realizada por el servidor no se puede deshacer.

COleClientItem::OnDiscardUndoState

El marco de trabajo llama a esta función cuando el usuario realiza una acción que descarta el estado de deshacer mientras edita el elemento OLE.

virtual void OnDiscardUndoState();

Comentarios

La implementación predeterminada no hace nada. Invalide esta función si va a implementar el comando deshacer en la aplicación contenedora. En la invalidación, descarte el estado de deshacer de la aplicación contenedora.

Si el servidor se escribió con la biblioteca Microsoft Foundation Class (MFC), el servidor puede hacer que se llame a esta función al llamar a COleServerDoc::DiscardUndoState.

Para obtener más información, vea IOleInPlaceSite::DiscardUndoState en Windows SDK.

COleClientItem::OnGetClipboardData

El marco de trabajo llama a esta función para obtener un objeto COleDataSource que contiene todos los datos que se colocarían en el Portapapeles mediante una llamada a la función miembro CopyToClipboard o DoDragDrop.

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

Parámetros

bIncludeLink
Establezca este elemento en TRUE si los datos del vínculo se deben copiar en el Portapapeles. Establezca este elemento en FALSE si la aplicación de servidor no admite vínculos.

lpOffset
Puntero al desplazamiento del cursor del mouse desde el origen del objeto en píxeles.

lpSize
Puntero al tamaño del objeto en píxeles.

Valor devuelto

Puntero a un objeto COleDataSource que contiene los datos del Portapapeles.

Comentarios

La implementación predeterminada de esta función llama a GetClipboardData.

COleClientItem::OnGetClipRect

El marco de trabajo llama a la función miembro OnGetClipRect para obtener las coordenadas del rectángulo de recorte del elemento que se está editando en el entorno local.

virtual void OnGetClipRect(CRect& rClipRect);

Parámetros

rClipRect
Puntero a un objeto de la clase CRect que contendrá las coordenadas del rectángulo de recorte del elemento.

Comentarios

Las coordenadas se proporcionan en píxeles en relación con el área cliente de la ventana de la aplicación contenedora.

La implementación predeterminada simplemente devuelve el rectángulo de cliente de la vista en la que el elemento está activo en el entorno local.

COleClientItem::OnGetItemPosition

El marco de trabajo llama a la función miembro OnGetItemPosition para obtener las coordenadas del elemento que se está editando en el entorno local.

virtual void OnGetItemPosition(CRect& rPosition);

Parámetros

rPosition
Referencia al objeto CRect que contendrá las coordenadas de posición del elemento.

Comentarios

Las coordenadas se proporcionan en píxeles en relación con el área cliente de la ventana de la aplicación contenedora.

La implementación predeterminada de esta función no hace nada. Las aplicaciones que admiten la edición local requieren su implementación.

COleClientItem::OnGetWindowContext

El marco de trabajo llama a esta función cuando se activa un elemento en el entorno local.

virtual BOOL OnGetWindowContext(
    CFrameWnd** ppMainFrame,
    CFrameWnd** ppDocFrame,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);

Parámetros

ppMainFrame
Puntero a un puntero a la ventana de marco principal.

ppDocFrame
Puntero a un puntero a la ventana de marco del documento.

lpFrameInfo
Puntero a una estructura OLEINPLACEFRAMEINFO que recibirá información de la ventana de marco.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Esta función se usa para recuperar información acerca de la ventana primaria del elemento OLE.

Si el contenedor es una aplicación MDI, la implementación predeterminada devuelve un puntero al objeto CMDIFrameWnd en ppMainFrame y un puntero al objeto CMDIChildWnd activo en ppDocFrame. Si el contenedor es una aplicación SDI, la implementación predeterminada devuelve un puntero al objeto CFrameWnd en ppMainFrame y devuelve NULL en ppDocFrame. La implementación predeterminada también rellena los miembros de lpFrameInfo.

Invalide esta función solo si la implementación predeterminada no se ajusta a la aplicación; Por ejemplo, si la aplicación tiene un paradigma de interfaz de usuario que difiere de SDI o MDI. Se trata de una invalidación avanzada.

Para obtener más información, vea IOleInPlaceSite::GetWindowContext y la estructura OLEINPLACEFRAMEINFO en Windows SDK.

COleClientItem::OnInsertMenus

El marco de trabajo llama a esta función durante la activación local para insertar los menús de la aplicación contenedora en un menú vacío.

virtual void OnInsertMenus(
    CMenu* pMenuShared,
    LPOLEMENUGROUPWIDTHS lpMenuWidths);

Parámetros

pMenuShared
Apunta a un menú vacío.

lpMenuWidths
Apunta a una matriz de seis valores LONG que indican cuántos menús hay en cada uno de los siguientes grupos de menús: Archivo, Edición, Contenedor, Objeto, Ventana, Ayuda. La aplicación contenedora es responsable de los grupos de menús Archivo, Contenedor y Ventana, correspondientes a los elementos 0, 2 y 4 de esta matriz.

Comentarios

A continuación, este menú se pasa al servidor, que inserta sus propios menús, creando un menú compuesto. Se puede llamar a esta función repetidamente para crear varios menús compuestos.

La implementación predeterminada inserta en pMenuShared los menús de contenedor en contexto; es decir, los grupos de menús Archivo, Contenedor y Ventana. CDocTemplate::SetContainerInfo se usa para establecer este recurso de menú. La implementación predeterminada también asigna los valores adecuados a los elementos 0, 2 y 4 en lpMenuWidths en función del recurso de menú. Invalide esta función si la implementación predeterminada no es adecuada para la aplicación; por ejemplo, si la aplicación no usa plantillas de documento para asociar recursos con tipos de documento. Si invalida esta función, también debe invalidar OnSetMenu y OnRemoveMenus. Se trata de una invalidación avanzada.

Para obtener más información, vea IOleInPlaceFrame::InsertMenus en Windows SDK.

COleClientItem::OnRemoveMenus

El marco de trabajo llama a esta función para quitar los menús del contenedor del menú compuesto especificado cuando finaliza la activación en contexto.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Parámetros

pMenuShared
Apunta al menú compuesto construido mediante llamadas a la función miembro OnInsertMenus.

Comentarios

La implementación predeterminada elimina de pMenuShared los menús de contenedor en contexto; es decir, los grupos de menús Archivo, Contenedor y Ventana. Invalide esta función si la implementación predeterminada no es adecuada para la aplicación; por ejemplo, si la aplicación no usa plantillas de documento para asociar recursos con tipos de documento. Si invalida esta función, probablemente también debe invalidar OnInsertMenus y OnSetMenu. Se trata de una invalidación avanzada.

Los submenús de pMenuShared pueden compartirse mediante más de un menú compuesto si el servidor ha llamado repetidamente a OnInsertMenus. Por lo tanto, no debe eliminar ningún submenú en la invalidación de OnRemoveMenus; solo debe desasociarlos.

Para obtener más información, vea IOleInPlaceFrame::RemoveMenus en Windows SDK.

COleClientItem::OnScrollBy

El marco de trabajo llama a esta función para desplazar el elemento OLE en respuesta a las solicitudes del servidor.

virtual BOOL OnScrollBy(CSize sizeExtent);

Parámetros

sizeExtent
Especifica las distancias, en píxeles, para desplazarse en las direcciones x e y.

Valor devuelto

Distinto de cero si el elemento se ha desplazado; 0 si no se pudo desplazar el elemento.

Comentarios

Por ejemplo, si el elemento OLE es parcialmente visible y el usuario se mueve fuera de la región visible mientras se realiza la edición local, se llama a esta función para mantener el cursor visible. La implementación predeterminada no hace nada. Invalide esta función para desplazar el elemento por la cantidad especificada. Tenga en cuenta que, como resultado del desplazamiento, la parte visible del elemento OLE puede cambiar. Llame a SetItemRects para actualizar el rectángulo visible del elemento.

Para obtener más información, vea IOleInPlaceSite::Scroll en Windows SDK.

COleClientItem::OnSetMenu

El marco de trabajo llama a esta función dos veces cuando comienza y finaliza la activación local: la primera vez cuando se instala el menú compuesto y la segunda vez (con holemenu igual a NULL) para quitarlo.

virtual void OnSetMenu(
    CMenu* pMenuShared,
    HOLEMENU holemenu,
    HWND hwndActiveObject);

Parámetros

pMenuShared
Apunta al menú compuesto construido mediante llamadas a la función miembro OnInsertMenus y la función InsertMenu.

holemenu
Manipulador del descriptor de menú que devuelve la función OleCreateMenuDescriptor, o NULL si se va a quitar el código de distribución.

hwndActiveObject
Manipulador de la ventana de edición del elemento OLE. Esta es la ventana que recibirá comandos de edición de OLE.

Comentarios

La implementación predeterminada instala o quita el menú compuesto y, a continuación, llama a la función OleSetMenuDescriptor para instalar o quitar el código de distribución. Invalide esta función si la implementación predeterminada no es adecuada para su aplicación. Si invalida esta función, probablemente también deba invalidar OnInsertMenus y OnRemoveMenu. Se trata de una invalidación avanzada.

Para obtener más información, vea OleCreateMenuDescriptor, OleSetMenuDescriptor e IOleInPlaceFrame::SetMenu en Windows SDK.

COleClientItem::OnShowControlBars

El marco de trabajo llama a esta función para mostrar y ocultar las barras de control de la aplicación contenedora.

virtual BOOL OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

Parámetros

pFrameWnd
Puntero a la ventana del marco de la aplicación contenedora. Puede ser una ventana de marco principal o una ventana secundaria MDI.

bShow
Especifica si las barras de control se van a mostrar u ocultar.

Valor devuelto

Distinto de cero si la llamada de función provoca un cambio en el estado de las barras de control; 0 si la llamada no produce ningún cambio o si pFrameWnd no apunta a la ventana de marco del contenedor.

Comentarios

Esta función devuelve 0 si las barras de control ya están en el estado especificado por bShow. Esto ocurriría, por ejemplo, si las barras de control están ocultas y bShow es FALSE.

La implementación predeterminada quita la barra de herramientas de la ventana de marco de nivel superior.

COleClientItem::OnShowItem

El marco de trabajo llama a esta función para mostrar el elemento OLE, lo que hace que sea totalmente visible durante la edición.

virtual void OnShowItem();

Comentarios

Se usa cuando la aplicación contenedora admite vínculos a elementos incrustados (es decir, si ha derivado la clase de documento de COleLinkingDoc). Se llama a esta función durante la activación local o cuando el elemento OLE es un origen de vínculo y el usuario quiere editarla. La implementación predeterminada activa la primera vista del documento de contenedor. Invalide esta función para desplazar el documento para que el elemento OLE esté visible.

COleClientItem::OnUpdateFrameTitle

El marco de trabajo llama a esta función durante la activación local para actualizar la barra de título de la ventana de marco.

virtual BOOL OnUpdateFrameTitle();

Valor devuelto

Distinto de cero si esta función actualizó correctamente el título del marco; de lo contrario, cero.

Comentarios

La implementación predeterminada no cambia el título de la ventana de marco. Invalide esta función si desea un título de marco diferente para la aplicación, por ejemplo "elemento de aplicación - de servidor en docname" (como en "Microsoft Excel - hoja de cálculo en REPORT.DOC"). Se trata de una invalidación avanzada.

COleClientItem::ReactivateAndUndo

Llame a esta función para reactivar el elemento OLE y deshacer la última operación realizada por el usuario durante la edición en contexto.

BOOL ReactivateAndUndo();

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Si la aplicación contenedora admite el comando deshacer, llame a esta función si el usuario elige el comando deshacer inmediatamente después de desactivar el elemento OLE.

Si la aplicación de servidor se escribe con las bibliotecas de Microsoft Foundation Class, esta función hace que el servidor llame a COleServerDoc::OnReactivateAndUndo.

Para obtener más información, vea IOleInPlaceObject::ReactivateAndUndo en Windows SDK.

COleClientItem::Release

Llame a esta función para limpiar los recursos utilizados por el elemento OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parámetros

dwCloseOption
Marca que especifica en qué circunstancias se guarda el elemento OLE cuando vuelve al estado cargado. Para una lista de valores posibles, consulte COleClientItem::Close.

Comentarios

el destructor COleClientItem llama a Release.

Para obtener más información, vea IUnknown::Release en Windows SDK.

COleClientItem::Reload

Cierra y vuelve a cargar el elemento.

BOOL Reload();

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Llame a la función Reload después de activar el elemento como un elemento de otro tipo mediante una llamada a ActivateAs.

COleClientItem::Run

Ejecuta la aplicación asociada a este elemento.

void Run();

Comentarios

Llame a la función miembro Run para iniciar la aplicación de servidor antes de activar el elemento. Esto se realiza automáticamente mediante Activate y DoVerb, por lo que normalmente no es necesario llamar a esta función. Llame a esta función si es necesario ejecutar el servidor para establecer un atributo de elemento, como SetExtent, antes de ejecutar DoVerb.

COleClientItem::SetDrawAspect

Llame a la función miembro SetDrawAspect para establecer el "aspecto" o la vista del elemento.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Parámetros

nDrawAspect
Un valor de la enumeración DVASPECT. Este parámetro puede tener uno de los valores siguientes:

  • El elemento DVASPECT_CONTENT se representa de forma que se pueda mostrar como un objeto insertado dentro de su contenedor.

  • El elemento DVASPECT_THUMBNAIL se representa en una representación de "miniatura", para que se pueda mostrar en una herramienta de exploración.

  • El elemento DVASPECT_ICON se representa mediante un icono.

  • El elemento DVASPECT_DOCPRINT se representa como si estuviera impreso con el comando Imprimir del menú Archivo.

Comentarios

El aspecto especifica cómo se va a representar el elemento mediante Draw cuando se usa el valor predeterminado para el argumento nDrawAspect de esa función.

El icono de cambio llama a esta función automáticamente (y otros cuadros de diálogo que llaman directamente al cuadro de diálogo Cambiar icono) para habilitar el aspecto de visualización emblemático cuando lo solicite el usuario.

COleClientItem::SetExtent

Llame a esta función para especificar la cantidad de espacio que hay disponible para el elemento OLE.

void SetExtent(
    const CSize& size,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

Parámetros

size
Objeto CSize que contiene la información de tamaño.

nDrawAspect
Especifica el aspecto del elemento OLE cuyos límites se van a establecer. Para ver los valores posibles, consulte SetDrawAspect.

Comentarios

Si la aplicación de servidor se escribió mediante la Biblioteca de Microsoft Foundation Class (MFC), esta función hace que se llame la función miembro OnSetExtent del objeto COleServerItem correspondiente. Después, el elemento OLE puede ajustar su presentación en consecuencia. Las dimensiones deben estar en unidades de MM_HIMETRIC. Llame a esta función cuando el usuario cambie el tamaño del elemento OLE o si admite alguna forma de negociación de diseño.

Para obtener más información, vea IOleObject::SetExtent en Windows SDK.

COleClientItem::SetHostNames

Llame a esta función para especificar el nombre de la aplicación contenedora y el nombre del contenedor para un elemento OLE incrustado.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Parámetros

lpszHost
Puntero al nombre visible para el usuario de la aplicación contenedora.

lpszHostObj
Puntero a una cadena de identificación del contenedor que contiene el elemento OLE.

Comentarios

Si la aplicación de servidor se escribió con la biblioteca Microsoft Foudation Class (MFC), esta función llama a la función miembro OnSetHostNames del documento COleServerDoc que contiene el elemento OLE. Esta información se usa en títulos de ventana cuando se está editando el elemento OLE. Cada vez que se carga un documento de contenedor, el marco de trabajo llama a esta función para todos los elementos OLE del documento. SetHostNames solo es aplicable a los elementos incrustados. No es necesario llamar a esta función cada vez que se activa un elemento OLE incrustado para su edición.

También se llama automáticamente con el nombre de la aplicación y el nombre del documento cuando se carga un objeto o cuando se guarda un archivo con un nombre diferente. Por lo tanto, no suele ser necesario llamar directamente a esta función.

Para obtener más información, vea IOleObject::SetHostNames en Windows SDK.

COleClientItem::SetIconicMetafile

Almacena en caché el metarchivo utilizado para dibujar el icono del elemento.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Parámetros

hMetaPict
Manipulador del metarchivo que se usa para dibujar el icono del elemento.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Use GetIconicMetafile para recuperar el metarchivo.

El parámetro hMetaPict se copia en el elemento; por lo tanto, el autor de la llamada debe liberar hMetaPict.

COleClientItem::SetItemRects

Llame a esta función para establecer el rectángulo delimitador o el rectángulo visible del elemento OLE.

BOOL SetItemRects(
    LPCRECT lpPosRect = NULL,
    LPCRECT lpClipRect = NULL);

Parámetros

lprcPosRect
Puntero al rectángulo que contiene los límites del elemento OLE relativo a su ventana primaria, en coordenadas de cliente.

lprcClipRect
Puntero al rectángulo que contiene los límites de la parte visible del elemento OLE en relación con su ventana primaria, en coordenadas de cliente.

Valor devuelto

Distinto de cero si se realiza correctamente; en caso contrario, 0.

Comentarios

La implementación predeterminada de la función miembro OnChangeItemPosition llama a esta función. Debe llamar a esta función cada vez que cambie la posición o la parte visible del elemento OLE. Normalmente esto significa que se llama desde las funciones miembro OnSize y OnScrollBy de la vista.

Para obtener más información, vea IOleInPlaceObject::SetObjectRects en Windows SDK.

COleClientItem::SetLinkUpdateOptions

Llame a esta función para establecer la opción link-update para la presentación del elemento vinculado especificado.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Parámetros

dwUpdateOpt
Valor de la opción link-update para este elemento. Este valor debe ser uno de los siguientes:

  • OLEUPDATE_ALWAYS Actualiza el elemento vinculado siempre que sea posible. Esta opción admite el botón de radio Actualización automática de vínculos en el cuadro de diálogo Vínculos.

  • OLEUPDATE_ONCALL Actualiza el elemento vinculado solo a petición de la aplicación contenedora (cuando se llama a la función miembro UpdateLink). Esta opción admite el botón de radio Actualización manual de vínculos en el cuadro de diálogo Vínculos.

Comentarios

Normalmente, no debe cambiar las opciones de actualización elegidas por el usuario en el cuadro de diálogo Vínculos.

Para obtener más información, vea IOleLink::SetUpdateOptions en Windows SDK.

COleClientItem::SetPrintDevice

Llame a esta función para cambiar el dispositivo de destino de impresión de este elemento.

BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);

Parámetros

ptd
Puntero a una estructura de datos DVTARGETDEVICE, que contiene información sobre el nuevo dispositivo de destino de impresión. Puede ser NULL.

ppd
Puntero a una estructura de datos PRINTDLG, que contiene información sobre el nuevo dispositivo de destino de impresión. Puede ser NULL.

Valor devuelto

Distinto de cero si la función se realizó correctamente; de lo contrario, 0.

Comentarios

Esta función actualiza el dispositivo de destino de impresión del elemento, pero no actualiza la memoria caché de presentación. Para actualizar la memoria caché de presentación de un elemento, llame a UpdateLink.

Los argumentos de esta función contienen información que el sistema OLE usa para identificar el dispositivo de destino. La estructura PRINTDLG contiene información que Windows usa para inicializar el cuadro de diálogo común Imprimir. Una vez que el usuario cierra el cuadro de diálogo, Windows devuelve información sobre las selecciones del usuario en esta estructura. El miembro m_pd de un objeto CPrintDialog es una estructura PRINTDLG.

Para obtener más información sobre esta estructura, vea PRINTDLG en Windows SDK.

Para obtener más información, vea DVTARGETDEVICE en Windows SDK.

Llame a esta función para actualizar inmediatamente los datos de presentación del elemento OLE.

BOOL UpdateLink();

Valor devuelto

Distinto de cero en caso de éxito; en caso contrario, es 0.

Comentarios

Para los elementos vinculados, la función busca el origen del vínculo para obtener una nueva presentación para el elemento OLE. Este proceso puede implicar la ejecución de una o varias aplicaciones de servidor, lo que puede llevar mucho tiempo. En el caso de los elementos incrustados, la función funciona de forma recursiva y comprueba si el elemento incrustado contiene vínculos que podrían estar obsoletos para actualizarlos. El usuario también puede actualizar manualmente vínculos individuales mediante el cuadro de diálogo Vínculos.

Para obtener más información, vea IOleLink::Update en Windows SDK.

Consulte también

Ejemplo MFC de MFCBIND
Ejemplo MFC de OCLIENT
CDocItem (clase)
Gráfico de jerarquías
COleServerItem (clase)