共用方式為


COlePropertyPage 類別

用來將自訂控制項的屬性顯示在類似對話方塊的圖形介面中。

語法

class AFX_NOVTABLE COlePropertyPage : public CDialog

成員

公用建構函式

名稱 描述
COlePropertyPage::COlePropertyPage 建構 COlePropertyPage 物件。

公用方法

名稱 描述
COlePropertyPage::GetControlStatus 指出使用者是否已修改 控制項中的值。
COlePropertyPage::GetObjectArray 傳回屬性頁正在編輯的物件陣列。
COlePropertyPage::GetPageSite 傳回屬性頁介面的 IPropertyPageSite 指標。
COlePropertyPage::IgnoreApply 決定哪些控制項未啟用 [套用] 按鈕。
COlePropertyPage::IsModified 指出使用者是否已修改屬性頁。
COlePropertyPage::OnEditProperty 當使用者編輯屬性時,由架構呼叫。
COlePropertyPage::OnHelp 當使用者叫用說明時,由架構呼叫。
COlePropertyPage::OnInitDialog 初始化屬性頁時,由架構呼叫。
COlePropertyPage::OnObjectsChanged 當選擇具有新屬性的另一個 OLE 控制項時,由架構呼叫。
COlePropertyPage::OnSetPageSite 當屬性框架提供頁面的網站時,由架構呼叫。
COlePropertyPage::SetControlStatus 設定旗標,指出使用者是否已修改 控制項中的值。
COlePropertyPage::SetDialogResource 設定屬性頁的對話方塊資源。
COlePropertyPage::SetHelpInfo 設定屬性頁的簡短解說文字、其說明檔的名稱,以及其說明內容。
COlePropertyPage::SetModifiedFlag 設定旗標,指出使用者是否已修改屬性頁。
COlePropertyPage::SetPageName 設定屬性頁的名稱(標題)。

備註

例如,屬性頁可能包含可讓使用者檢視和修改控制項標題屬性的編輯控制項。

每個自訂或股票控制項屬性都可以有一個對話方塊控制項,可讓控制項的使用者檢視目前的屬性值,並視需要修改該值。

如需使用 COlePropertyPage 的詳細資訊,請參閱 ActiveX 控制項:屬性頁 一文

繼承階層架構

CObject

CCmdTarget

CWnd

CDialog

COlePropertyPage

需求

標頭: afxctl.h

COlePropertyPage::COlePropertyPage

建構 COlePropertyPage 物件。

COlePropertyPage(
    UINT idDlg,
    UINT idCaption);

參數

idDlg
對話方塊範本的資源識別碼。

idCaption
屬性頁標題的資源識別碼。

備註

當您實作 的子類別時,子類別 COlePropertyPage 的建構函式應該使用 COlePropertyPage 建構函式來識別屬性頁所依據的對話方塊範本資源,以及包含其標題的字串資源。

COlePropertyPage::GetControlStatus

判斷使用者是否已使用指定的資源識別碼修改屬性頁控制項的值。

BOOL GetControlStatus(UINT nID);

參數

nID
屬性頁控制項的資源識別碼。

傳回值

如果控制項值已修改,則為 TRUE;否則為 FALSE。

COlePropertyPage::GetObjectArray

傳回屬性頁正在編輯的物件陣列。

LPDISPATCH* GetObjectArray(ULONG* pnObjects);

參數

pnObjects
不帶正負號之長整數的指標,該整數將接收頁面正在編輯的物件數目。

傳回值

指標陣列的 IDispatch 指標,用來存取屬性頁面上每個控制項的屬性。 呼叫端不得釋放這些介面指標。

備註

每個屬性頁物件都會維護頁面所編輯物件的介面指標 IDispatch 陣列。 此函式會將其 pnObjects 引數設定為該陣列中的元素數目,並傳回陣列第一個專案的指標。

COlePropertyPage::GetPageSite

取得屬性頁介面的 IPropertyPageSite 指標。

LPPROPERTYPAGESITE GetPageSite();

傳回值

屬性頁介面的 IPropertyPageSite 指標。

備註

控制項和容器會合作,讓使用者可以流覽和編輯控制項屬性。 控制項會提供屬性頁,每個頁面都是 OLE 物件,可讓使用者編輯一組相關的屬性。 容器會提供顯示內容頁的屬性框架。 針對每個頁面,屬性框架會提供支援 介面的頁面網站 IPropertyPageSite

COlePropertyPage::IgnoreApply

決定哪些控制項未啟用 [套用] 按鈕。

void IgnoreApply(UINT nID);

參數

nID
要忽略之控制項的識別碼。

備註

只有在屬性頁控制項的值已變更時,才會啟用屬性頁的 [套用] 按鈕。 使用此函式來指定控制項在值變更時不會啟用 [套用] 按鈕。

COlePropertyPage::IsModified

判斷使用者是否已變更屬性頁上的任何值。

BOOL IsModified();

傳回值

如果屬性頁已修改,則為 TRUE。

COlePropertyPage::OnEditProperty

架構會在編輯特定屬性時呼叫此函式。

virtual BOOL OnEditProperty(DISPID dispid);

參數

dispid
正在編輯之屬性的分派識別碼。

傳回值

預設實作會傳回 FALSE。 此函式的覆寫應該會傳回 TRUE。

備註

您可以覆寫它,將焦點設定為頁面上的適當控制項。 預設實作不會執行任何動作,並傳回 FALSE。

COlePropertyPage::OnHelp

當使用者要求線上協助時,架構會呼叫此函式。

virtual BOOL OnHelp(LPCTSTR lpszHelpDir);

參數

lpszHelpDir
包含屬性頁說明檔的目錄。

傳回值

預設實作會傳回 FALSE。

備註

如果您的屬性頁在使用者存取說明時必須執行任何特殊動作,請覆寫它。 預設實作不會執行任何動作並傳回 FALSE,其會指示架構呼叫 WinHelp。

COlePropertyPage::OnInitDialog

架構會在初始化屬性頁的對話方塊時呼叫此函式。

virtual BOOL OnInitDialog();

傳回值

預設實作會傳回 FALSE。

備註

如果對話方塊初始化時需要任何特殊動作,請覆寫它。 預設實作會呼叫 CDialog::OnInitDialog 並傳回 FALSE。

COlePropertyPage::OnObjectsChanged

當選擇具有新屬性的另一個 OLE 控制項時,由架構呼叫。

virtual void OnObjectsChanged();

備註

在開發人員環境中檢視 OLE 控制項的屬性時,會使用無強制回應對話方塊來顯示其屬性頁。 如果選取了另一個控制項,則必須為新的屬性集顯示一組不同的屬性頁。 架構會呼叫此函式,以通知變更的屬性頁。

覆寫此函式以接收此動作的通知,並執行任何特殊動作。

COlePropertyPage::OnSetPageSite

當屬性框架提供屬性頁的頁面網站時,架構會呼叫此函式。

virtual void OnSetPageSite();

備註

預設實作會載入頁面的標題,並嘗試從對話資源判斷頁面的大小。 如果您的屬性頁需要任何進一步的動作,請覆寫此函式;您的覆寫應該呼叫基類實作。

COlePropertyPage::SetControlStatus

變更屬性頁控制項的狀態。

BOOL SetControlStatus(
    UINT nID,
    BOOL bDirty);

參數

nID
包含屬性頁控制項的識別碼。

bDirty
指定屬性頁的欄位是否已修改。 如果欄位已修改,則設定為 TRUE;如果欄位尚未修改,則為 FALSE。

傳回值

如果已設定指定的控制項,則為 TRUE;否則為 FALSE。

備註

如果屬性頁關閉或選擇 [套用] 按鈕時,屬性頁控制項的狀態已變更,則會使用適當的值來更新控制項的屬性。

COlePropertyPage::SetDialogResource

設定屬性頁的對話方塊資源。

void SetDialogResource(HGLOBAL hDialog);

參數

hDialog
屬性頁對話方塊資源的控制碼。

COlePropertyPage::SetHelpInfo

指定工具提示資訊、說明檔名,以及屬性頁的說明內容。

void SetHelpInfo(
    LPCTSTR lpszDocString,
    LPCTSTR lpszHelpFile = NULL,
    DWORD dwHelpContext = 0);

參數

lpszDocString
字串,包含顯示在狀態列或其他位置的簡短說明資訊。

lpszHelpFile
屬性頁說明檔的名稱。

dwHelpCoNtext
屬性頁的說明內容。

COlePropertyPage::SetModifiedFlag

指出使用者是否已修改屬性頁。

void SetModifiedFlag(BOOL bModified = TRUE);

參數

bModified
指定屬性頁修改旗標的新值。

COlePropertyPage::SetPageName

設定屬性頁的名稱,屬性框架通常會顯示在頁面的索引標籤上。

void SetPageName(LPCTSTR lpszPageName);

參數

lpszPageName
包含屬性頁名稱的字串指標。

另請參閱

MFC 範例 CIRC3
MFC 範例 TESTHELP
CDialog 類別
階層架構圖表
CDialog 類別