DDX_FieldText
更新 : 2007 年 11 月
DDX_FieldText 関数は、エディット ボックス コントロールとレコードセット フィールド データ メンバとの間での、int、short、long、DWORD、CString、float、double、BOOL、BYTE の各型のデータ転送を管理します。
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
BYTE& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
int& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
UINT& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
long& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
DWORD& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
CString& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
float& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
double& value,
CRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
short& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
BOOL& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
BYTE& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
long& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
DWORD& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
CString& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
float& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
double& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
COleDateTime& value,
CDaoRecordset* pRecordset
);
void AFXAPI DDX_FieldText(
CDataExchange* pDX,
int nIDC,
COleCurrency& value,
CDaoRecordset* pRecordset
);
パラメータ
pDX
CDataExchange オブジェクトへのポインタを返します。フレームワークは、データ交換のコンテキストと交換方向を確定するためにこのオブジェクトを設定します。nIDC
CRecordView オブジェクトまたは CDaoRecordView オブジェクト内のコントロールの ID。value
関連する CRecordset オブジェクトまたは CDaoRecordset オブジェクトのフィールド データ メンバへの参照。value のデータ型は、使用するオーバーロードされた DDX_FieldText の型に依存します。pRecordset
データの交換相手になる CRecordset オブジェクトまたは CDaoRecordset オブジェクトへのポインタ。DDX_FieldText は、このポインタを使って NULL 値を検出することも設定することもできます。
解説
CDaoRecordset オブジェクトのために、DDX_FieldText も COleDateTime と COleCurrency の値の転送を管理します。空のエディット ボックス コントロールは NULL 値を示します。レコードセットからコントロールへの転送時にレコードセット フィールドが NULL であった場合、エディット ボックスを空に設定します。コントロールからレコードセットへの転送時にコントロールが空であった場合は、レコードセットのフィールドに NULL を設定します。
ODBC ベースのクラスを使って作業しているときは、パラメータに CRecordset を持つ形式を使います。DAO ベースのクラスを使って作業しているときは、パラメータに CDaoRecordset を持つ形式を使います。
DDX の詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。CRecordView と CDaoRecordView のフィールドでの DDX の例や詳細については、「レコード ビュー」を参照してください。
使用例
次の CRecordView クラスの DoDataExchange 関数は、3 つのデータ型に対して DDX_FieldText 関数を呼び出しています。IDC_COURSELIST はコンボ ボックスで、ほかの 2 つのコントロールはエディット ボックスです。DAO のプログラムでは、パラメータ m_pSet が CRecordset または CDaoRecordset へのポインタになります。
void CMyDaoRecordView::DoDataExchange(CDataExchange* pDX)
{
CDaoRecordView::DoDataExchange(pDX);
DDX_FieldCBString(pDX, IDC_LASTNAME, m_pSet->m_LastName, m_pSet);
DDX_FieldText(pDX, IDC_ID, m_pSet->m_EmployeeID, m_pSet);
DDX_FieldText(pDX, IDC_AGE, m_pSet->m_Age, m_pSet);
}
必要条件
ヘッダー : afxdao.h