Share via


IOleDocumentSite::ActivateMe-Methode (docobj.h)

Fordert eine Dokumentwebsite auf, das Dokument zu aktivieren, das den Aufruf als Dokumentobjekt statt als direkt aktives Objekt vornimmt, und gibt optional an, welche Ansicht des Objektdokuments aktiviert werden soll.

Syntax

HRESULT ActivateMe(
  [in] IOleDocumentView *pViewToActivate
);

Parameter

[in] pViewToActivate

Ein Zeiger auf einen IOleDocumentView-Schnittstellenzeiger , der die Dokumentansicht darstellt, die beim Aktivieren des Dokumentobjekts verwendet werden soll. Dieser Parameter kann NULL sein. In diesem Fall sollte der Container IOleDocument::CreateView aufrufen, um einen Dokumentansichtszeiger zu erhalten.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück.

Hinweise

Wenn ein Container IOleObject::D oVerb aufruft , um ein Dokument zu aktivieren, umgeht ein Dokumentobjekt die übliche direkte Aktivierungssequenz, indem IOleDocumentSite::ActivateMe aufgerufen wird.

Beim Aufrufen von IOleObject::D oVerb für ein Dokumentobjekt ist das am besten geeignete Aktivierungsverb in der Regel OLEIVERB_SHOW. Weitere zulässige Verben sind OLEIVERB_PRIMARY und OLEIVERB_UIACTIVATE. OLEIVERB_OPEN wird abgeraten, da dies bedeutet, dass ein eingebettetes Objekt in einem separaten Fenster geöffnet wird, was der Absicht der Dokumentobjektaktivierung widerspricht.

Hinweise für Anrufer

Nur Dokumentobjekte sollten diese Methode aufrufen. Ein normales aktives Dokument sollte auf den Aufruf eines Containers an IOleObject::D oVerb durch Aufrufen von IOleInPlaceSite reagieren.

Ein Dokumentobjekt sollte seine Aktivierung initiieren, indem IOleDocumentSite::ActivateMe aufgerufen wird. Wenn der Container IOleDocumentSite nicht implementiert, sollte für das Dokument standardmäßig die normale direkte Aktivierungssequenz verwendet werden.

Ein Dokumentobjekt, das mehrere Ansichten seiner Daten unterstützt, kann angeben, welche Ansicht aktiviert werden soll, indem ein Zeiger auf die IOleDocumentView-Schnittstelle dieser Ansicht in pViewToActivate übergeben wird.

Der IOleDocumentView-Zeiger wird jedoch abgerufen, der Container sollte den Zeiger freigeben, wenn er nicht mehr benötigt wird.

Hinweise für Implementierer

Diese Funktion muss vollständig in einem Dokumentobjektcontainer implementiert werden. E_NOTIMPL ist kein zulässiger Rückgabewert.

Wenn ein Dokumentobjekt einen IOleDocumentView-Zeiger in pViewToActivate übergibt, sollte die Implementierung des Containers von IOleDocumentSite::ActivateMeIOleDocumentView::SetInPlaceSite aufrufen und einen Zeiger auf seine IOleInPlaceSite-Schnittstelle zurück an das View-Objekt übergeben. Wenn der Container den IOleDocumentView-Zeiger hält, was normalerweise der Fall ist, sollte er dem Aufruf von IOleDocumentView::SetInPlaceSite mit einem Aufruf von IUnknown::AddRef folgen.

Wenn pViewToActivateNULL ist, kann der Container einen Zeiger auf eine Dokumentansicht abrufen, indem er das Dokument für IOleDocument abfragt, dann IOleDocument::CreateView aufruft und seinen IOleInPlaceSite-Zeiger übergibt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile docobj.h

Weitere Informationen

IOleClientSite

IOleDocument::CreateView

IOleDocumentSite

IOleDocumentView::SetInPlaceSite

IOleInPlaceSite

IOleObject::D oVerb