COccManager-Klasse

Verwaltet unterschiedliche benutzerdefinierte ControlSites. Wird von COleControlContainer - und COleControlSite -Objekten implementiert.

Syntax

class COccManager : public CNoTrackObject

Member

Öffentliche Methoden

Name Beschreibung
COccManager::CreateContainer Erstellt ein COleContainer-Objekt.
COccManager::CreateDlgControls Erstellt ActiveX-Steuerelemente, die vom zugeordneten COleContainer Objekt gehostet werden.
COccManager::CreateSite Erstellt ein COleClientSite-Objekt.
COccManager::GetDefBtnCode Ruft den Code der Standardschaltfläche ab.
COccManager::IsDialogMessage Bestimmt das Ziel einer Dialogfeldnachricht.
COccManager::IsLabelControl Bestimmt, ob das angegebene Steuerelement ein Bezeichnungssteuerelement ist.
COccManager::IsMatchingMnemonic Bestimmt, ob der aktuelle Mnemonic mit dem Mnemonic des angegebenen Steuerelements übereinstimmt.
COccManager::OnEvent Versucht, das angegebene Ereignis zu behandeln.
COccManager::P ostCreateDialog Gibt Ressourcen frei, die während der Erstellung des Dialogfelds zugeordnet sind.
COccManager::P reCreateDialog Verarbeitet eine Dialogfeldvorlage für ActiveX-Steuerelemente.
COccManager::SetDefaultButton Schaltet den Standardstatus des angegebenen Steuerelements um.
COccManager::SplitDialogTemplate Trennt alle vorhandenen ActiveX-Steuerelemente von allgemeinen Steuerelementen in der angegebenen Dialogfeldvorlage.

Hinweise

Die Basisklasse ist CNoTrackObjecteine nicht dokumentierte Basisklasse (in AFXTLS). H). Für die Verwendung durch das MFC-Framework konzipierte Klassen, die von der CNoTrackObject Klasse abgeleitet werden, sind von der Erkennung von Speicherlecks ausgenommen. Es wird nicht empfohlen, dass Sie direkt von CNoTrackObject.

Vererbungshierarchie

CNoTrackObject

COccManager

Anforderungen

Kopfzeile: afxocc.h

COccManager::CreateContainer

Vom Framework aufgerufen, um einen Steuerelementcontainer zu erstellen.

virtual COleControlContainer* CreateContainer(CWnd* pWnd);

Parameter

pWnd
Ein Zeiger auf das Fensterobjekt, das dem benutzerdefinierten Websitecontainer zugeordnet ist.

Rückgabewert

Ein Zeiger auf den neu erstellten Container; andernfalls NULL.

Hinweise

Weitere Informationen zum Erstellen benutzerdefinierter Websites finden Sie unter COleControlContainer::AttachControlSite.

COccManager::CreateDlgControls

Rufen Sie diese Funktion auf, um ActiveX-Steuerelemente zu erstellen, die vom pOccDialogInfo-Parameter angegeben werden.

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    LPCTSTR lpszResourceName,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    void* lpResource,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

Parameter

pWndParent
Ein Zeiger auf das übergeordnete Element des Dialogobjekts.

lpszResourceName
Der Name der zu erstellenden Ressource.

pOccDialogInfo
Ein Zeiger auf die Dialogfeldvorlage, die zum Erstellen des Dialogobjekts verwendet wird.

lpResource
Ein Zeiger auf eine Ressource.

Rückgabewert

Nonzero, wenn das Steuerelement erfolgreich erstellt wurde; andernfalls 0.

COccManager::CreateSite

Vom Framework aufgerufen, um eine Steuerelementwebsite zu erstellen, die vom Container gehostet wird, auf den pCtrlCont verweist.

virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);

Parameter

pCtrlCont
Ein Zeiger auf den Steuerelementcontainer, in dem die neue Steuerelementwebsite gehostet wird.

Rückgabewert

Ein Zeiger auf die neu erstellte Steuerelementwebsite.

Hinweise

Überschreiben Sie diese Funktion, um eine benutzerdefinierte Steuerelementwebsite mithilfe der von COleControlSite abgeleiteten Klasse zu erstellen.

Jeder Steuerelementcontainer kann mehrere Websites hosten. Erstellen Sie zusätzliche Websites mit mehreren Aufrufen an CreateSite.

COccManager::GetDefBtnCode

Rufen Sie diese Funktion auf, um zu ermitteln, ob es sich bei dem Steuerelement um eine Standardtaste handelt.

static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);

Parameter

pWnd
Das Fensterobjekt, das das Schaltflächensteuerelement enthält.

Rückgabewert

Einer der folgenden Werte:

  • DLGC_DEFPUSHBUTTON Steuerelement ist die Standardschaltfläche im Dialogfeld.

  • DLGC_UNDEFPUSHBUTTON Steuerelement ist nicht die Standardschaltfläche im Dialogfeld.

  • 0 Steuerelement ist keine Schaltfläche.

COccManager::IsDialogMessage

Wird vom Framework aufgerufen, um zu bestimmen, ob eine Nachricht für das angegebene Dialogfeld vorgesehen ist und ggf. die Nachricht verarbeitet.

virtual BOOL IsDialogMessage(
    CWnd* pWndDlg,
    LPMSG lpMsg);

Parameter

pWndDlg
Ein Zeiger auf das beabsichtigte Zieldialogfeld der Nachricht.

lpMsg
Ein Zeiger auf eine MSG Struktur, die die zu überprüfende Nachricht enthält.

Rückgabewert

Nonzero, wenn die Nachricht verarbeitet wird; andernfalls 0.

Hinweise

Das Standardverhalten IsDialogMessage besteht darin, nach Tastaturmeldungen zu suchen und sie in Auswahlmöglichkeiten für das entsprechende Dialogfeld zu konvertieren. Beispielsweise wählt die TAB-TASTE beim Drücken das nächste Steuerelement oder die nächste Gruppe von Steuerelementen aus.

Überschreiben Sie diese Funktion, um benutzerdefiniertes Verhalten für Nachrichten bereitzustellen, die an das angegebene Dialogfeld gesendet werden.

COccManager::IsLabelControl

Rufen Sie diese Funktion auf, um zu ermitteln, ob es sich bei dem angegebenen Steuerelement um ein Bezeichnungssteuerelement handelt.

static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);

Parameter

pWnd
Ein Zeiger auf das Fenster, das das Steuerelement enthält.

Rückgabewert

Nonzero, wenn das Steuerelement eine Bezeichnung ist; andernfalls 0

Hinweise

Ein Bezeichnungssteuerelement ist ein Steuerelement, das wie eine Bezeichnung für das nächste Steuerelement in der Reihenfolge fungiert.

COccManager::IsMatchingMnemonic

Rufen Sie diese Funktion auf, um zu ermitteln, ob der aktuelle mnemonic-Wert dem durch das Steuerelement dargestellten entspricht.

static BOOL AFX_CDECL IsMatchingMnemonic(
    CWnd* pWnd,
    LPMSG lpMsg);

static BOOL AFX_CDECL IsMatchingMnemonic(
    COleControlSiteOrWnd* pWnd,
    LPMSG lpMsg);

Parameter

pWnd
Ein Zeiger auf das Fenster, das das Steuerelement enthält.

lpMsg
Ein Zeiger auf die Nachricht, die den zuzuordnenden Mnemonic enthält.

Rückgabewert

Nonzero, wenn der Mnemonic mit dem Steuerelement übereinstimmt; andernfalls 0

Hinweise

COccManager::OnEvent

Vom Framework aufgerufen, um das angegebene Ereignis zu behandeln.

virtual BOOL OnEvent(
    CCmdTarget* pCmdTarget,
    UINT idCtrl,
    AFX_EVENT* pEvent,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parameter

pCmdTarget
Ein Zeiger auf das CCmdTarget Objekt, das versucht, das Ereignis zu behandeln

idCtrl
Die Ressourcen-ID des Steuerelements.

pEvent
Das Ereignis, das behandelt wird.

pHandlerInfo
Wenn nicht NULL, füllen Sie die pTarget Und-Elemente pmf der AFX_CMDHANDLERINFO Struktur aus, OnEvent anstatt den Befehl zu verteilen. Normalerweise sollte dieser Parameter NULL sein.

Rückgabewert

Nonzero, wenn das Ereignis behandelt wurde, andernfalls Null.

Hinweise

Überschreiben Sie diese Funktion, um den Standardprozess für die Ereignisbehandlung anzupassen.

COccManager::P reCreateDialog

Vom Framework aufgerufen, um eine Dialogfeldvorlage für ActiveX-Steuerelemente zu verarbeiten, bevor das eigentliche Dialogfeld erstellt wird.

virtual const DLGTEMPLATE* PreCreateDialog(
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo,
    const DLGTEMPLATE* pOrigTemplate);

Parameter

pOccDialogInfo
Eine _AFX_OCC_DIALOG_INFO Struktur, die Informationen zur Dialogfeldvorlage und alle im Dialogfeld gehosteten ActiveX-Steuerelemente enthält.

pOrigTemplate
Ein Zeiger auf die Dialogfeldvorlage, die beim Erstellen des Dialogfelds verwendet werden soll.

Rückgabewert

Ein Zeiger auf eine Dialogfeldvorlagenstruktur, die zum Erstellen des Dialogfelds verwendet wird.

Hinweise

Das Standardverhalten ruft auf SplitDialogTemplate, bestimmt, ob ActiveX-Steuerelemente vorhanden sind, und gibt dann die resultierende Dialogfeldvorlage zurück.

Überschreiben Sie diese Funktion, um den Prozess zum Erstellen eines Dialogfelds mit ActiveX-Steuerelementen anzupassen.

COccManager::P ostCreateDialog

Vom Framework aufgerufen, um speicherfrei zu geben, der für die Dialogvorlage zugeordnet ist.

virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

Parameter

pOccDialogInfo
Eine _AFX_OCC_DIALOG_INFO Struktur, die Informationen zur Dialogfeldvorlage und alle im Dialogfeld gehosteten ActiveX-Steuerelemente enthält.

Hinweise

Dieser Speicher wurde von einem Aufruf SplitDialogTemplatean und für alle gehosteten ActiveX-Steuerelemente im Dialogfeld verwendet.

Überschreiben Sie diese Funktion, um den Prozess der sauber Hinzufügen von Ressourcen anzupassen, die vom Dialogfeldobjekt verwendet werden.

COccManager::SetDefaultButton

Rufen Sie diese Funktion auf, um das Steuerelement als Standardschaltfläche festzulegen.

static void AFX_CDECL SetDefaultButton(
    CWnd* pWnd,
    BOOL bDefault);

Parameter

pWnd
Ein Zeiger auf das Fenster, das das Steuerelement enthält.

bDefault
Nonzero, wenn das Steuerelement zur Standardschaltfläche werden soll; andernfalls 0.

Rückgabewert

Ungleich 0, wenn erfolgreich, andernfalls 0.

Hinweise

Hinweis

Das Steuerelement muss über den OLEMISC_ACTSLIKEBUTTON Statusbitsatz verfügen. Weitere Informationen zu OLEMISC-Flags finden Sie im Thema "OLEMISC " im Windows SDK.

COccManager::SplitDialogTemplate

Wird vom Framework aufgerufen, um die ActiveX-Steuerelemente von allgemeinen Dialogsteuerelementen zu teilen.

virtual DLGTEMPLATE* SplitDialogTemplate(
    const DLGTEMPLATE* pTemplate,
    DLGITEMTEMPLATE** ppOleDlgItems);

Parameter

pTemplate
Ein Zeiger auf die zu untersuchende Dialogvorlage.

ppOleDlgItems
Eine Liste von Zeigern auf Dialogfeldelemente, die ActiveX-Steuerelemente sind.

Rückgabewert

Ein Zeiger auf eine Dialogfeldvorlagenstruktur, die nur Nicht-ActiveX-Steuerelemente enthält. Wenn keine ActiveX-Steuerelemente vorhanden sind, wird NULL zurückgegeben.

Hinweise

Wenn ActiveX-Steuerelemente gefunden werden, wird die Vorlage analysiert, und eine neue Vorlage, die nur Nicht-ActiveX-Steuerelemente enthält, wird erstellt. Alle Während dieses Prozesses gefundenen ActiveX-Steuerelemente werden ppOleDlgItems hinzugefügt.

Wenn keine ActiveX-Steuerelemente in der Vorlage vorhanden sind, wird NULL zurückgegeben .

Hinweis

Der für die neue Vorlage zugewiesene Speicher wird in der PostCreateDialog Funktion freigegeben.

Überschreiben Sie diese Funktion, um diesen Prozess anzupassen.

Siehe auch

Hierarchiediagramm
COleControlSite-Klasse
COleControlContainer-Klasse