COleDocObjectItem-Klasse

Implementiert "Active Document Containment".

Syntax

class COleDocObjectItem : public COleClientItem

Member

Öffentliche Konstruktoren

Name Beschreibung
COleDocObjectItem::COleDocObjectItem Erstellt ein COleDocObject Element.

Öffentliche Methoden

Name Beschreibung
COleDocObjectItem::D oDefaultPrinting Druckt das Dokument der Containeranwendung mithilfe der Standarddruckereinstellungen.
COleDocObjectItem::ExecCommand Führt den vom Benutzer angegebenen Befehl aus.
COleDocObjectItem::GetActiveView Ruft die aktive Ansicht des Dokuments ab.
COleDocObjectItem::GetPageCount Ruft die Anzahl der Seiten im Dokument der Containeranwendung ab.
COleDocObjectItem::OnPreparePrinting Bereitet das Dokument der Containeranwendung für den Druck vor.
COleDocObjectItem::OnPrint Druckt das Dokument der Containeranwendung.
COleDocObjectItem::QueryCommand Fragt den Status von Befehlen ab, die von Ereignissen auf der Benutzeroberfläche generiert wurden.
COleDocObjectItem::Release Gibt die Verbindung mit einem verknüpften OLE-Element frei und schließt sie, wenn es geöffnet war. Das Clientelement wird nicht zerstört.

Hinweise

In MFC wird ein aktives Dokument ähnlich wie ein normales, direkt bearbeitbares Einbetten behandelt, wobei die folgenden Unterschiede bestehen:

  • Die COleDocumentvon -abgeleitete Klasse Standard eine Liste der derzeit eingebetteten Elemente enthält. Diese Elemente können jedoch abgeleitete Elemente seinCOleDocObjectItem.

  • Wenn ein aktives Dokument aktiv ist, belegt es den gesamten Clientbereich der Ansicht, wenn es aktiv ist.

  • Ein aktiver Dokumentcontainer verfügt über vollzugriff auf das Hilfemenü .

  • Das Hilfemenü enthält Menüelemente sowohl für den Container "Aktives Dokument" als auch für den Server.

Da der Container "Aktives Dokument" das Hilfemenü besitzt, ist der Container für das Weiterleiten von Hilfemenümeldungen des Servers an den Server verantwortlich. Diese Integration wird von COleDocObjectItem.

Weitere Informationen zum Zusammenführen von Menüs und zur Aktivierung aktiver Dokumente finden Sie in der Übersicht über die aktive Dokumenteindämmung.

Vererbungshierarchie

CObject

CCmdTarget

CDocItem

COleClientItem

COleDocObjectItem

Anforderungen

Kopfzeile: afxole.h

COleDocObjectItem::COleDocObjectItem

Rufen Sie diese Memberfunktion auf, um das COleDocObjectItem Objekt zu initialisieren.

COleDocObjectItem(COleDocument* pContainerDoc = NULL);

Parameter

pContainerDoc
Ein Zeiger auf das Objekt, das COleDocument als aktiver Dokumentcontainer fungiert. Dieser Parameter muss NULL sein, um IMPLEMENT_SERIALIZE zu aktivieren. Normalerweise werden OLE-Elemente mit einem Nicht-NULL-Dokumentzeiger erstellt.

COleDocObjectItem::D oDefaultPrinting

Wird vom Framework mithilfe der Standardeinstellungen für ein Dokument aufgerufen.

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

Parameter

pCaller
Ein Zeiger auf ein CView-Objekt , das den Druckbefehl sendet.

Pinfo
Ein Zeiger auf ein CPrintInfo-Objekt , das den zu druckbaren Auftrag beschreibt.

COleDocObjectItem::ExecCommand

Rufen Sie diese Memberfunktion auf, um den vom Benutzer angegebenen Befehl auszuführen.

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

Parameter

nCmdID
Der Bezeichner des auszuführenden Befehls. Muss sich in der Gruppe befinden, die von pguidCmdGroup identifiziert wird.

nCmdExecOpt
Gibt Befehlsausführungsoptionen an. Legen Sie den Befehl standardmäßig so fest, dass er ausgeführt wird, ohne den Benutzer aufzufordern. Eine Liste der Werte finden Sie unter OLECMDEXECOPT .

pguidCmdGroup
Eindeutiger Bezeichner der Befehlsgruppe. Standardmäßig gibt NULL die Standardgruppe an. Der in nCmdID übergebene Befehl muss zur Gruppe gehören.

Rückgabewert

Gibt S_OK zurück, wenn dies erfolgreich ist; andernfalls wird eine der folgenden Fehlercodes zurückgegeben.

Wert Beschreibung
E_UNEXPECTED Unerwarteter Fehler.
E_FAIL Fehler.
E_NOTIMPL Gibt an, dass MFC selbst versucht, den Befehl zu übersetzen und zu verteilen.
OLECMDERR_E_UNKNOWNGROUP pguidCmdGroup ist nicht NULL, gibt aber keine erkannte Befehlsgruppe an.
OLECMDERR_E_NOTSUPPORTED nCmdID wird nicht als gültiger Befehl in der Gruppe pGroup erkannt.
OLECMDERR_DISABLED Der durch nCmdID identifizierte Befehl ist deaktiviert und kann nicht ausgeführt werden.
OLECMDERR_NOHELP Der Anrufer hat nach Hilfe zu dem befehl gefragt, der von nCmdID identifiziert wurde, aber keine Hilfe verfügbar ist.
OLECMDERR_CANCELLED Der Benutzer hat die Ausführung abgebrochen.

Hinweise

Die Parameter "pguidCmdGroup " und " nCmdID " identifizieren den befehl, der aufgerufen werden soll. Der Parameter nCmdExecOpt gibt die genaue Auszuführende Aktion an.

COleDocObjectItem::GetActiveView

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf die IOleDocumentView Schnittstelle der aktuell aktiven Ansicht abzurufen.

LPOLEDOCUMENTVIEW GetActiveView() const;

Rückgabewert

Ein Zeiger auf die IOleDocumentView-Schnittstelle der aktuell aktiven Ansicht. Wenn keine aktuelle Ansicht vorhanden ist, wird NULL zurückgegeben.

Hinweise

Die Verweisanzahl für den zurückgegebenen Zeiger IOleDocumentView wird nicht erhöht, bevor sie von dieser Funktion zurückgegeben wird.

COleDocObjectItem::GetPageCount

Rufen Sie diese Memberfunktion auf, um die Anzahl der Seiten im Dokument abzurufen.

BOOL GetPageCount(
    LPLONG pnFirstPage,
    LPLONG pcPages);

Parameter

pnFirstPage
Ein Zeiger auf die Nummer der ersten Seite des Dokuments. Kann NULL sein, was angibt, dass der Aufrufer diese Nummer nicht benötigt.

pcPages
Ein Zeiger auf die Gesamtanzahl der Seiten im Dokument. Kann NULL sein, was angibt, dass der Aufrufer diese Nummer nicht benötigt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

COleDocObjectItem::OnPreparePrinting

Diese Memberfunktion wird vom Framework aufgerufen, um ein Dokument für das Drucken vorzubereiten.

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

Parameter

pCaller
Ein Zeiger auf ein CView-Objekt , das den Druckbefehl sendet.

Pinfo
Ein Zeiger auf ein CPrintInfo-Objekt , das den zu druckbaren Auftrag beschreibt.

bPrintAll
Gibt an, ob das gesamte Dokument gedruckt werden soll.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

COleDocObjectItem::OnPrint

Diese Memberfunktion wird vom Framework aufgerufen, um ein Dokument zu drucken.

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

Parameter

pCaller
Ein Zeiger auf ein CView-Objekt, das den Druckbefehl sendet.

Pinfo
Ein Zeiger auf ein CPrintInfo-Objekt , das den zu druckbaren Auftrag beschreibt.

bPrintAll
Gibt an, ob das gesamte Dokument gedruckt werden soll.

COleDocObjectItem::QueryCommand

Fragt den Status von Befehlen ab, die von Ereignissen auf der Benutzeroberfläche generiert wurden.

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

Parameter

nCmdID
bezeichner des Befehls, für den abgefragt wird.

pdwStatus
Ein Zeiger auf die Flags, die als Ergebnis der Abfrage zurückgegeben werden. Eine Liste der möglichen Werte finden Sie unter OLECMDF.

pCmdText
Zeigen Sie auf eine OLECMDTEXT-Struktur , in der Name- und Statusinformationen für einen einzelnen Befehl zurückgegeben werden sollen. Kann NULL sein, um anzugeben, dass der Aufrufer diese Informationen nicht benötigt.

pguidCmdGroup
Eindeutiger Bezeichner der Befehlsgruppe; kann NULL sein, um die Standardgruppe anzugeben.

Rückgabewert

Eine vollständige Auflistung der Rückgabewerte finden Sie unter "IOleCommandTarget::QueryStatus " im Windows SDK.

Hinweise

Diese Memberfunktion emuliert die Funktionalität der IOleCommandTarget::QueryStatus-Methode , wie im Windows SDK beschrieben.

COleDocObjectItem::Release

Gibt die Verbindung mit einem verknüpften OLE-Element frei und schließt sie, wenn es geöffnet war. Das Clientelement wird nicht zerstört.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parameter

dwCloseOption
Flag, das angibt, unter welchen Umständen das OLE-Element gespeichert wird, wenn es in den geladenen Zustand zurückkehrt. Eine Liste der möglichen Werte finden Sie unter "COleClientItem::Close".

Hinweise

Das Clientelement wird nicht zerstört.

Siehe auch

MFC-Beispiel MFCBIND
COleClientItem-Klasse
Hierarchiediagramm
COleClientItem-Klasse
CDocObjectServerItem-Klasse