分享方式:


COccManager 類別

管理各種自訂控制項網站;由 COleControlContainerCOleControlSite 物件實作。

語法

class COccManager : public CNoTrackObject

成員

公用方法

名稱 描述
COccManager::CreateContainer 建立 COleContainer 物件。
COccManager::CreateDlgControls 建立由相關聯 COleContainer 物件裝載的 ActiveX 控制項。
COccManager::CreateSite 建立 COleClientSite 物件。
COccManager::GetDefBtnCode 擷取預設按鈕的程式碼。
COccManager::IsDialogMessage 決定對話訊息的目標。
COccManager::IsLabelControl 判斷指定的控制項是否為標籤控制項。
COccManager::IsMatchingMnemonic 判斷目前的助憶鍵是否符合指定控制項的助憶鍵。
COccManager::OnEvent 嘗試處理指定的事件。
COccManager::P ostCreateDialog 釋放在建立對話期間配置的資源。
COccManager::P reCreateDialog 處理 ActiveX 控制項的對話方塊範本。
COccManager::SetDefaultButton 切換指定控制項的預設狀態。
COccManager::SplitDialogTemplate 將任何現有的 ActiveX 控制項與指定對話方塊範本中的通用控制項分開。

備註

基類 是未記載的基類 CNoTrackObject (位於 AFXTLS 中。H). 專為 MFC 架構使用而設計,衍生自 類別的 CNoTrackObject 類別會豁免記憶體流失偵測。 不建議您直接衍生自 CNoTrackObject

繼承階層架構

CNoTrackObject

COccManager

需求

標頭: afxocc.h

COccManager::CreateContainer

由架構呼叫以建立控制項容器。

virtual COleControlContainer* CreateContainer(CWnd* pWnd);

參數

pWnd
與自訂網站容器相關聯的視窗物件的指標。

傳回值

新建立容器的指標;否則為 Null。

備註

如需建立自訂網站的詳細資訊,請參閱 COleControlContainer::AttachControlSite

COccManager::CreateDlgControls

呼叫此函式以建立 pOccDialogInfo 參數指定的 ActiveX 控制項。

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

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

參數

pWndParent
對話方塊物件的父代指標。

lpszResourceName
要建立的資源名稱。

pOccDialogInfo
用來建立對話方塊物件的對話方塊範本指標。

lpResource
資源的指標。

傳回值

如果控制項已成功建立,則為非零;否則為零。

COccManager::CreateSite

由架構呼叫以建立控制項網站,由 pCtrlCont 所指向的 容器所裝載。

virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);

參數

pCtrlCont
裝載新控制項月臺之控制項容器的指標。

傳回值

新建立之控制項網站的指標。

備註

使用您的 COleControlSite 衍生類別覆寫此函式來建立自訂控制項網站。

每個控制容器都可以裝載多個月臺。 使用對 CreateSite 的多個呼叫建立其他網站。

COccManager::GetDefBtnCode

呼叫此函式以判斷控制項是否為預設的按鈕。

static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);

參數

pWnd
包含按鈕控制項的視窗物件。

傳回值

下列其中一個值:

  • DLGC_DEFPUSHBUTTON控制項是對話方塊中的預設按鈕。

  • DLGC_UNDEFPUSHBUTTON控制項不是對話方塊中的預設按鈕。

  • 0 控制項不是按鈕。

COccManager::IsDialogMessage

由架構呼叫,以判斷訊息是否適用于指定的對話方塊,如果是,則會處理訊息。

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

參數

pWndDlg
訊息目標對話方塊的指標。

lpMsg
結構的指標 MSG ,其中包含要檢查的訊息。

傳回值

如果處理訊息,則為非零;否則為零。

備註

的預設行為 IsDialogMessage 是檢查鍵盤訊息,並將其轉換成對應對話方塊的選取範圍。 例如,按下 TAB 鍵時,會選取下一個控制項或控制項群組。

覆寫此函式,為傳送至指定對話方塊的訊息提供自訂行為。

COccManager::IsLabelControl

呼叫此函式來判斷指定的控制項是否為標籤控制項。

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

參數

pWnd
包含 控制項之視窗的指標。

傳回值

如果控制項是標籤,則為非零;否則為零

備註

標籤控制項的作用就像排序中下一個控制項的標籤一樣。

COccManager::IsMatchingMnemonic

呼叫此函式,以判斷目前的助憶鍵是否符合 控制項所代表的。

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

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

參數

pWnd
包含 控制項之視窗的指標。

lpMsg
訊息的指標,其中包含要比對的助憶鍵。

傳回值

如果助憶鍵符合控制項,則為非零;否則為零

備註

COccManager::OnEvent

由架構呼叫以處理指定的事件。

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

參數

pCmdTarget
嘗試處理事件的 物件的指標 CCmdTarget

idCtrl
控制項的資源識別碼。

pEvent
正在處理的事件。

pHandlerInfo
如果不是 Null,請 OnEvent 填入 pTarget 結構的 和 pmf 成員 AFX_CMDHANDLERINFO ,而不是分派命令。 一般而言,此參數應該是 Null。

傳回值

如果已處理事件,則為非零,否則為零。

備註

覆寫此函式以自訂預設事件處理常式。

COccManager::P reCreateDialog

由架構呼叫,以在建立實際對話方塊之前處理 ActiveX 控制項的對話方塊範本。

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

參數

pOccDialogInfo
_AFX_OCC_DIALOG_INFO結構,包含對話方塊範本和對話所裝載的任何 ActiveX 控制項資訊。

pOrigTemplate
要用於建立對話方塊之對話方塊範本的指標。

傳回值

用來建立對話方塊之對話方塊範本結構的指標。

備註

預設行為會呼叫 SplitDialogTemplate ,判斷是否有任何 ActiveX 控制項存在,然後傳回結果對話方塊範本。

覆寫此函式以自訂建立裝載 ActiveX 控制項之對話方塊的程式。

COccManager::P ostCreateDialog

由架構呼叫,以釋放配置給對話方塊範本的記憶體。

virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

參數

pOccDialogInfo
_AFX_OCC_DIALOG_INFO結構,包含對話方塊範本和對話所裝載的任何 ActiveX 控制項資訊。

備註

此記憶體是由 呼叫 SplitDialogTemplate 所配置,並用於對話方塊中任何裝載的 ActiveX 控制項。

覆寫此函式,以自訂清除對話方塊物件所使用的任何資源的程式。

COccManager::SetDefaultButton

呼叫此函式,將控制項設定為預設按鈕。

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

參數

pWnd
包含 控制項之視窗的指標。

bDefault
如果控制項應該成為預設按鈕,則為非零;否則為零。

傳回值

如果成功則不為零,否則為 0。

備註

注意

控制項必須設定OLEMISC_ACTSLIKEBUTTON狀態位。 如需 OLEMISC 旗標的詳細資訊,請參閱 Windows SDK 中的 OLEMISC 主題。

COccManager::SplitDialogTemplate

由架構呼叫,以將 ActiveX 控制項從通用對話方塊控制項分割。

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

參數

pTemplate
要檢查之對話方塊範本的指標。

ppOleDlgItems
ActiveX 控制項之對話方塊專案的指標清單。

傳回值

對話方塊範本結構的指標,只包含非 ActiveX 控制項。 如果沒有 ActiveX 控制項存在,則會傳回 Null。

備註

如果找到任何 ActiveX 控制項,則會分析範本,並建立只包含非 ActiveX 控制項的新範本。 此程式期間找到的任何 ActiveX 控制項會新增至 ppOleDlgItems

如果範本中沒有 ActiveX 控制項,則會傳 回 Null。

注意

為新範本配置的記憶體會在 函 PostCreateDialog 式中釋出。

覆寫此函式以自訂此程式。

另請參閱

階層架構圖表
COleControlSite 類別
COleControlContainer 類別