Compartir a través de


Clase COleDocObjectItem

Implementa la contención del documento activo.

Sintaxis

class COleDocObjectItem : public COleClientItem

Miembros

Constructores públicos

Nombre Descripción
COleDocObjectItem::COleDocObjectItem Construye un elemento COleDocObject.

Métodos públicos

Nombre Descripción
COleDocObjectItem::DoDefaultPrinting Imprime el documento de la aplicación contenedora con la configuración de impresora predeterminada.
COleDocObjectItem::ExecCommand Ejecuta el comando especificado por el usuario.
COleDocObjectItem::GetActiveView Recupera la vista activa del documento.
COleDocObjectItem::GetPageCount Recupera el número de páginas del documento de la aplicación contenedora.
COleDocObjectItem::OnPreparePrinting Prepara el documento de la aplicación contenedora para imprimirlo.
COleDocObjectItem::OnPrint Imprime el documento de la aplicación contenedora.
COleDocObjectItem::QueryCommand Consulta el estado de uno o más comandos generados por eventos de interfaz de usuario.
COleDocObjectItem::Release Libera la conexión a un elemento vinculado OLE y la cierra si estaba abierta. No destruye el elemento de cliente.

Comentarios

En MFC, un documento activo se controla de manera similar a una inserción editable en contexto normal, con las diferencias siguientes:

  • La clase derivada de COleDocument sigue manteniendo una lista de los elementos actualmente insertados; sin embargo, estos pueden ser elementos derivados de COleDocObjectItem.

  • Cuando un documento activo está activo, ocupa toda el área de cliente de la vista cuando está activa en contexto.

  • Un contenedor de documentos activos tiene control total del menú Ayuda.

  • El menú Ayuda contiene elementos de menú para el servidor y el contenedor de documentos activos.

Dado que el contenedor de documentos activos es propietario del menú Ayuda, el contenedor es responsable de reenviar los mensajes del menú Ayuda del servidor al servidor. COleDocObjectItem controla esta integración.

Para más información sobre la combinación de menús y la activación de documentos activos, consulte la información general de Contención de documentos activos.

Jerarquía de herencia

CObject

CCmdTarget

CDocItem

COleClientItem

COleDocObjectItem

Requisitos

Encabezado: afxole.h

COleDocObjectItem::COleDocObjectItem

Llame a esta función miembro para inicializar el objeto COleDocObjectItem.

COleDocObjectItem(COleDocument* pContainerDoc = NULL);

Parámetros

pContainerDoc
Puntero al objeto COleDocument que actúa como el contenedor de documentos activos. Este parámetro debe ser NULL para habilitar IMPLEMENT_SERIALIZE. Por lo general, los elementos OLE se construyen con un puntero de documento distinto de NULL.

COleDocObjectItem::DoDefaultPrinting

Lo llama el marco para un documento mediante la configuración predeterminada.

static HRESULT DoDefaultPrinting(
    CView* pCaller,
    CPrintInfo* pInfo);

Parámetros

pCaller
Puntero a un objeto CView que envía el comando de impresión.

pInfo
Puntero a un objeto CPrintInfo que describe el trabajo que se va a imprimir.

COleDocObjectItem::ExecCommand

Llame a esta función miembro para ejecutar el comando especificado por el usuario.

HRESULT ExecCommand(
    DWORD nCmdID,
    DWORD nCmdExecOpt = OLECMDEXECOPT_DONTPROMPTUSER,
    const GUID* pguidCmdGroup = NULL);

Parámetros

nCmdID
Identificador del comando que se va a ejecutar. Debe estar en el grupo identificado por pguidCmdGroup.

nCmdExecOpt
Especifica las opciones de ejecución de comandos. De manera predeterminada, establezca la ejecución del comando sin preguntar al usuario. Para una lista de valores, consulte OLECMDEXECOPT.

pguidCmdGroup
Identificador único del grupo de comandos. De manera predeterminada, NULL, que especifica el grupo estándar. El comando que se pasa en nCmdID debe pertenecer al grupo.

Valor devuelto

Devuelve S_OK si se ejecuta correctamente; de lo contrario, devuelve uno de los códigos de error siguientes.

Valor Descripción
E_UNEXPECTED Se ha producido un error inesperado.
E_FAIL Se ha producido un error.
E_NOTIMPL Indica que MFC debe intentar traducir y enviar el comando.
OLECMDERR_E_UNKNOWNGROUP pguidCmdGroup es distinto de NULL, pero no especifica un grupo de comandos reconocido.
OLECMDERR_E_NOTSUPPORTED nCmdID no se reconoce como comando válido en el grupo pGroup.
OLECMDERR_DISABLED El comando identificado por nCmdID está deshabilitado y no se puede ejecutar.
OLECMDERR_NOHELP El autor de llamada pidió ayuda sobre el comando identificado por nCmdID, pero no hay ninguna ayuda disponible.
OLECMDERR_CANCELLED El usuario canceló la ejecución.

Comentarios

En conjunto, los parámetros pguidCmdGroup y nCmdID identifican de manera única el comando que se va a invocar. El parámetro nCmdExecOpt especifica la acción exacta que se va a realizar.

COleDocObjectItem::GetActiveView

Llame a esta función miembro para obtener un puntero a la interfaz IOleDocumentView de la vista activa actualmente.

LPOLEDOCUMENTVIEW GetActiveView() const;

Valor devuelto

Puntero a la interfaz IOleDocumentView de la vista activa actualmente. Si no hay ninguna vista actual, devuelve NULL.

Comentarios

No se incrementa el recuento de referencias en el puntero IOleDocumentView devuelto antes de que lo devuelva esta función.

COleDocObjectItem::GetPageCount

Llame a esta función miembro para recuperar el número de páginas del documento.

BOOL GetPageCount(
    LPLONG pnFirstPage,
    LPLONG pcPages);

Parámetros

pnFirstPage
Puntero al número de la primera página del documento. Puede ser NULL, lo que indica que el autor de llamada no necesita este número.

pcPages
Puntero al número total de páginas del documento. Puede ser NULL, lo que indica que el autor de llamada no necesita este número.

Valor devuelto

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

COleDocObjectItem::OnPreparePrinting

El marco llama a esta función miembro para preparar un documento para imprimirlo.

static BOOL OnPreparePrinting(
    CView* pCaller,
    CPrintInfo* pInfo,
    BOOL bPrintAll = TRUE);

Parámetros

pCaller
Puntero a un objeto CView que envía el comando de impresión.

pInfo
Puntero a un objeto CPrintInfo que describe el trabajo que se va a imprimir.

bPrintAll
Especifica si se va a imprimir todo el documento.

Valor devuelto

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

COleDocObjectItem::OnPrint

El marco llama a esta función miembro para imprimir un documento.

static void OnPrint(
    CView* pCaller,
    CPrintInfo* pInfo,
    BOOL bPrintAll = TRUE);

Parámetros

pCaller
Puntero a un objeto CView que envía el comando de impresión.

pInfo
Puntero a un objeto CPrintInfo que describe el trabajo que se va a imprimir.

bPrintAll
Especifica si se va a imprimir todo el documento.

COleDocObjectItem::QueryCommand

Consulta el estado de uno o más comandos generados por eventos de interfaz de usuario.

HRESULT QueryCommand(
    ULONG nCmdID,
    DWORD* pdwStatus,
    OLECMDTEXT* pCmdText =NULL,
    const GUID* pguidCmdGroup =NULL);

Parámetros

nCmdID
Identificador del comando sobre el que se realiza la consulta.

pdwStatus
Puntero a las marcas devueltas como resultado de la consulta. Para una lista de valores posibles, consulte OLECMDF.

pCmdText
Puntero a una estructura OLECMDTEXT en la que se va a devolver información del nombre y el estado de un comando único. Puede ser NULL para indicar que el autor de llamada no necesita esta información.

pguidCmdGroup
Identificador único del grupo de comandos; puede ser NULL para especificar el grupo estándar.

Valor devuelto

Para un listado completo de los valores devueltos, consulte IOleCommandTarget::QueryStatus en Windows SDK.

Comentarios

Esta función miembro emula la funcionalidad del método IOleCommandTarget::QueryStatus, tal como se describe en Windows SDK.

COleDocObjectItem::Release

Libera la conexión a un elemento vinculado OLE y la cierra si estaba abierta. No destruye el elemento de cliente.

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

No destruye el elemento de cliente.

Consulte también

Ejemplo MFC de MFCBIND
COleClientItem (clase)
Gráfico de jerarquías
COleClientItem (clase)
CDocObjectServerItem (clase)