プロパティ ページ (MFC)

プロパティ ページでは、ダイアログ データ交換 (DDX) に基づくデータ マッピング メカニズムをサポートすることで、カスタマイズ可能なグラフィカル インターフェイスで特定の 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 コントロールのプロパティ ページ内のコントロールをコントロールのプロパティにリンクします。 この関数は、、、BSTR、など、doubleshortいくつかの異なる種類のプロパティを処理しますlong

関数ページとプロパティ ページのDoDataExchange詳細については、「ActiveX コントロール: プロパティ ページ」を参照してください

OLE コントロールのプロパティ ページを作成および管理するために使用されるマクロの一覧を次に示します。

プロパティ ページ

名前 説明
BEGIN_PROPPAGEIDS プロパティ ページ ID の一覧を開始します。
END_PROPPAGEIDS プロパティ ページ ID の一覧を終了します。
PROPPAGEID コントロール クラスのプロパティ ページを宣言します。

DDP_CBIndex

プロパティ ページの DoDataExchange 関数でこの関数を呼び出して、整数プロパティの値を、プロパティ ページのコンボ ボックス内の現在の選択範囲のインデックスと同期します。

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

パラメーター

Pdx
CDataExchange オブジェクトを指すポインター。 フレームワークは、データ交換のコンテキスト (交換方向を含みます) を確定するためにこのオブジェクトを提供します。

id
pszPropName指定されたコントロール プロパティに関連付けられているコンボ ボックス コントロールのリソース ID。

member
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。

member
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。

member
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。

member
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。

member
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。

member
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。

member
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。

member
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。

member
id で指定されたプロパティ ページ コントロールと pszPropName指定されたプロパティに関連付けられているメンバー変数。

pszPropName
id指定されたコントロールと交換するコントロール プロパティのプロパティ名。

解説

この関数は、対応する DDX_Text 関数呼び出しの前に呼び出す必要があります。

必要条件

ヘッダー afxctl.h

BEGIN_PROPPAGEIDS

コントロールのプロパティ ページ ID の一覧の定義を開始します。

BEGIN_PROPPAGEIDS(class_name,  count)

パラメーター

class_name
プロパティ ページを指定するコントロール クラスの名前。

count
コントロール クラスで使用されるプロパティ ページの数。

解説

クラスのメンバー関数を定義する実装 (.cpp) ファイルで、BEGIN_PROPPAGEIDS マクロを使用してプロパティ ページ の一覧を開始し、各プロパティ ページのマクロ エントリを追加し、プロパティ ページの一覧に END_PROPPAGEIDS マクロを入力します。

プロパティ ページの詳細については、「ActiveX コントロール: プロパティ ページ」を参照してください

必要条件

ヘッダー afxctl.h

END_PROPPAGEIDS

プロパティ ページ ID リストの定義を終了します。

END_PROPPAGEIDS(class_name)

パラメーター

class_name
プロパティ ページを所有するコントロール クラスの名前。

必要条件

ヘッダー afxctl.h

PROPPAGEID

OLE コントロールで使用するプロパティ ページを追加します。

PROPPAGEID(clsid)

パラメーター

clsid
プロパティ ページの一意のクラス ID。

解説

すべての PROPPAGEID マクロは、コントロールの実装ファイル内の BEGIN_PROPPAGEIDS マクロとEND_PROPPAGEIDS マクロの間に配置する必要があります。

必要条件

ヘッダー afxctl.h

関連項目

マクロとグローバル