共用方式為


屬性頁 (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

另請參閱

宏和全域