屬性頁 (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 | 連結控制項屬性頁中的控制項與控制項的 屬性。 此函式會處理數種不同類型的屬性,例如 double 、 short 、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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應