共用方式為


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 設定屬性頁的名稱 (caption)。

備註

例如,屬性頁可能包含可讓用戶檢視及修改控件標題屬性的編輯控件。

每個自定義或股票控件屬性都可以有一個對話框控件,可讓控件的用戶檢視目前的屬性值,並視需要修改該值。

如需使用 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 類別