Share via


Método IOleDocumentSite::ActivateMe (docobj.h)

Pide a un sitio de documento que active el documento que realiza la llamada como un objeto de documento en lugar de un objeto activo en contexto y, opcionalmente, especifica qué vista del documento de objeto se va a activar.

Sintaxis

HRESULT ActivateMe(
  [in] IOleDocumentView *pViewToActivate
);

Parámetros

[in] pViewToActivate

Puntero a un puntero de interfaz IOleDocumentView que representa la vista de documento que se va a usar al activar el objeto de documento. Este parámetro puede ser NULL, en cuyo caso el contenedor debe llamar a IOleDocument::CreateView para obtener un puntero de vista de documento.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente.

Comentarios

Cuando un contenedor llama a IOleObject::D oVerb para activar un documento, un objeto de documento omite la secuencia de activación local habitual llamando a IOleDocumentSite::ActivateMe.

Al llamar a IOleObject::D oVerb en un objeto de documento, el verbo de activación más adecuado suele ser OLEIVERB_SHOW. Otros verbos permitidos incluyen OLEIVERB_PRIMARY y OLEIVERB_UIACTIVATE. OLEIVERB_OPEN se desaconseja porque significa abrir un objeto incrustado en una ventana independiente, lo que es contrario a la intención de activación de objetos de documento.

Notas a los autores de llamadas

Solo los objetos de documento deben llamar a este método. Un documento activo local normal debe responder a la llamada de un contenedor a IOleObject::D oVerb llamando a IOleInPlaceSite.

Un objeto de documento debe iniciar su activación llamando a IOleDocumentSite::ActivateMe. Si el contenedor no implementa IOleDocumentSite, el documento debe tener como valor predeterminado la secuencia de activación local normal.

Un objeto de documento que admite más de una vista de sus datos puede especificar qué vista se va a activar pasando un puntero a la interfaz IOleDocumentView de esa vista en pViewToActivate.

Sin embargo, se obtiene el puntero IOleDocumentView , el contenedor debe liberar el puntero cuando ya no sea necesario.

Notas para los implementadores

Esta función debe implementarse completamente en un contenedor de objetos de documento; E_NOTIMPL no es un valor devuelto aceptable.

Si un objeto de documento pasa un puntero IOleDocumentView en pViewToActivate, la implementación del contenedor de IOleDocumentSite::ActivateMe debe llamar a IOleDocumentView::SetInPlaceSite y pasar un puntero a su interfaz IOleInPlaceSite de nuevo al objeto de vista. Si el contenedor se mantiene en el puntero IOleDocumentView , que normalmente será el caso, debe seguir la llamada a IOleDocumentView::SetInPlaceSite con una llamada a IUnknown::AddRef.

Si pViewToActivate es NULL, el contenedor puede obtener un puntero a una vista de documento consultando el documento para IOleDocument, llamando a IOleDocument::CreateView y pasando su puntero IOleInPlaceSite .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado docobj.h

Consulte también

IOleClientSite

IOleDocument::CreateView

IOleDocumentSite

IOleDocumentView::SetInPlaceSite

IOleInPlaceSite

IOleObject::D oVerb