DDX_FieldText

更新 : 2007 年 11 月

DDX_FieldText 関数は、エディット ボックス コントロールとレコードセット フィールド データ メンバとの間での、int、shortlongDWORDCStringfloatdouble、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_FieldTextCOleDateTimeCOleCurrency の値の転送を管理します。空のエディット ボックス コントロールは NULL 値を示します。レコードセットからコントロールへの転送時にレコードセット フィールドが NULL であった場合、エディット ボックスを空に設定します。コントロールからレコードセットへの転送時にコントロールが空であった場合は、レコードセットのフィールドに NULL を設定します。

ODBC ベースのクラスを使って作業しているときは、パラメータに CRecordset を持つ形式を使います。DAO ベースのクラスを使って作業しているときは、パラメータに CDaoRecordset を持つ形式を使います。

DDX の詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。CRecordViewCDaoRecordView のフィールドでの DDX の例や詳細については、「レコード ビュー」を参照してください。

使用例

次の CRecordView クラスの DoDataExchange 関数は、3 つのデータ型に対して DDX_FieldText 関数を呼び出しています。IDC_COURSELIST はコンボ ボックスで、ほかの 2 つのコントロールはエディット ボックスです。DAO のプログラムでは、パラメータ m_pSetCRecordset または 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

参照

概念

MFC マクロとグローバル

参照

DDX_FieldRadio

DDX_FieldLBString

DDX_FieldLBStringExact

DDX_FieldCBString

DDX_FieldCBStringExact

DDX_FieldCBIndex

DDX_FieldLBIndex

DDX_FieldScroll