共用方式為


屬性頁 (MFC)

屬性頁會在可自定義的圖形化介面中顯示特定 OLE 控件屬性的目前值,藉由支援以對話數據交換為基礎的數據對應機制來檢視和編輯。

此數據對應機制會將屬性頁控件對應至 OLE 控件的個別屬性。 控件屬性的值會反映屬性頁控件的狀態或內容。 屬性頁控件與屬性之間的對應是由屬性頁DoDataExchange成員函式中DDP_函數調用所指定。 以下是一份 DDP_函式清單,這些函式 會使用控件的屬性頁來交換輸入的數據:

屬性頁數據傳輸

名稱 描述
DDP_CBIndex 將選取字串的索引連結至下拉式方塊與控件的屬性。
DDP_CBString 將下拉式方塊中選取的字串連結至控件的屬性。 選取的字串可以以與屬性值相同的字母開頭,但不需要完全比對它。
DDP_CBStringExact 將下拉式方塊中選取的字串連結至控件的屬性。 選取的字串和屬性的字串值必須完全符合。
DDP_Check 將控件屬性頁中的複選框連結至控件的 屬性。
DDP_LBIndex 使用控制元件的 屬性連結清單框中選取的字串索引。
DDP_LBString 將清單框中選取的字串連結至控件的屬性。 選取的字串可以以與屬性值相同的字母開頭,但不需要完全相符。
DDP_LBStringExact 將清單框中選取的字串連結至控件的屬性。 選取的字串和屬性的字串值必須完全符合。
DDP_PostProcessing 完成從控件傳送屬性值。
DDP_Radio 連結控制項屬性頁面中的單選按鈕群組與控件的屬性。
DDP_Text 連結控制項屬性頁中的控制項與控制件的屬性。 此函式會處理數種不同類型的屬性,例如 doubleshort、BSTR 和 long

如需函式DoDataExchange和屬性頁的詳細資訊,請參閱 ActiveX 控件:屬性頁一文

以下是用來建立和管理 OLE 控件之屬性頁的巨集清單:

屬性頁

名稱 描述
BEGIN_PROPPAGEIDS 開始屬性頁識別碼的清單。
END_PROPPAGEIDS 結束屬性頁識別碼的清單。
PROPPAGEID 宣告控件類別的屬性頁。

DDP_CBIndex

呼叫您屬性頁的 DoDataExchange 函式中的這個函式,來同步處理整數屬性的值與在屬性頁中下拉式方塊裡目前選取範圍的索引。

void AFXAPI DDP_CBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的下拉式方塊控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定下拉式方塊控件交換之控件的屬性名稱。

備註

應該在對應的 DDX_CBIndex 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_CBString

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理字串屬性的值與屬性頁下拉式方塊中的目前選取範圍。

void AFXAPI DDP_CBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的下拉式方塊控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定下拉式方塊字串交換之控件屬性的屬性名稱。

備註

應該在對應的 DDX_CBString 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_CBStringExact

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理與屬性頁上下拉式方塊中目前選取專案完全相符的字串屬性值。

void AFXAPI DDP_CBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的下拉式方塊控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定下拉式方塊字串交換之控件屬性的屬性名稱。

備註

應該在對應的 DDX_CBStringExact 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_Check

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理屬性的值與相關聯的屬性頁複選框控件。

void AFXAPI DDP_Check(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的複選框控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定之複選框控件交換之控件的屬性名稱。

備註

應該在對應的 DDX_Check 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_LBIndex

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理整數屬性的值,以及屬性頁上清單框中目前選取範圍的索引。

void AFXAPI DDP_LBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的清單框控件資源標識符。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定清單框字串交換之控件屬性的屬性名稱。

備註

應該在對應的 DDX_LBIndex 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_LBString

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理字串屬性的值與屬性頁上清單框中目前的選取範圍。

void AFXAPI DDP_LBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的清單框控件資源標識符。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定清單框字串交換之控件屬性的屬性名稱。

備註

應該在對應的 DDX_LBString 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_LBStringExact

在屬性頁的 DoDataExchange 函式中呼叫此函式,以同步處理與屬性頁上清單框中目前選取專案完全相符的字串屬性值。

void AFXAPI DDP_LBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的清單框控件資源標識符。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定清單框字串交換之控件屬性的屬性名稱。

備註

應該在對應的 DDX_LBStringExact 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_PostProcessing

在屬性頁的 DoDataExchange 函式中呼叫此函式,以在儲存屬性值時,完成屬性值從屬性頁傳送至控件。

void AFXAPI DDP_PostProcessing(CDataExchange * pDX);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

備註

完成所有數據交換函式之後,應該呼叫此函式。 例如:

void CMyAxPropPage::DoDataExchange(CDataExchange *pDX)
{
   DDP_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition, _T("NeedlePosition"));
   DDX_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition);
   DDV_MinMaxInt(pDX, m_NeedlePosition, 0, 3);
   DDP_PostProcessing(pDX);
}

需求

標頭 afxctl.h

DDP_Radio

在控件的 DoPropExchange 函式中呼叫此函式,以同步處理 屬性的值與相關聯的屬性頁單選按鈕控件。

void AFXAPI DDP_Radio(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的單選按鈕控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定單選按鈕控制件交換之控制件的屬性名稱。

備註

應該在對應的 DDX_Radio 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

DDP_Text

在控件的 DoDataExchange 函式中呼叫此函式,以同步處理 屬性的值與相關聯的屬性頁控制件。

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    BYTE & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    UINT & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    long & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    DWORD & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    float & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    double & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    CString & member,
    LPCTSTR pszPropName);

參數

pDX
指向 CDataExchange 物件的指標。 架構會提供此物件來建立資料交換的內容,包括其方向。

id
與 pszPropName指定之控件屬性相關聯的控件資源標識碼。

成員
與 id指定的屬性頁控件相關聯的成員變數,以及 pszPropName指定的屬性。

pszPropName
要與id指定之控件交換之控件的屬性名稱。

備註

應該在對應的 DDX_Text 函式呼叫之前呼叫此函式。

需求

標頭 afxctl.h

BEGIN_PROPPAGEIDS

開始定義控件的屬性頁識別符清單。

BEGIN_PROPPAGEIDS(class_name,  count)

參數

class_name
要為其指定屬性頁之控件類別的名稱。

計數
控件類別所使用的屬性頁數。

備註

在定義類別成員函式的實作 (.cpp) 檔案中,使用 BEGIN_PROPPAGEIDS 巨集啟動屬性頁清單,然後新增每個屬性頁的巨集專案,並使用 END_PROPPAGEIDS 巨集來完成屬性頁清單。

如需屬性頁的詳細資訊,請參閱 ActiveX 控件:屬性頁一文

需求

標頭 afxctl.h

END_PROPPAGEIDS

結束屬性頁識別碼清單的定義。

END_PROPPAGEIDS(class_name)

參數

class_name
擁有屬性頁之控件類別的名稱。

需求

標頭 afxctl.h

PROPPAGEID

新增屬性頁以供 OLE 控制件使用。

PROPPAGEID(clsid)

參數

clsid
屬性頁的唯一類別識別碼。

備註

所有 PROPPAGEID 巨集都必須放在控件實作檔中BEGIN_PROPPAGEIDS和END_PROPPAGEIDS巨集之間。

需求

標頭 afxctl.h

另請參閱

巨集和全域