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
COleDocument
von -abgeleitete Klasse verwaltet weiterhin eine Liste der derzeit eingebetteten Elemente. 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
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