The DDX_FieldCBIndex function synchronizes the index of the selected item in the list box control of a combo box control in a record view and an int field data member of a recordset associated with the record view.
void AFXAPI DDX_FieldCBIndex( CDataExchange* pDX, int nIDC, int& index, CRecordset* pRecordset ); void AFXAPI DDX_FieldCBIndex( CDataExchange* pDX, int nIDC, int& index, CDaoRecordset* pRecordset );
- A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.
- The ID of a control in the CRecordView or CDaoRecordView object.
- A reference to a field data member in the associated CRecordset or CDaoRecordset object.
- A pointer to the CRecordset or CDaoRecordset object with which data is exchanged.
When moving data from the recordset to the control, this function sets the selection in the control based on the value specified in index. On a transfer from the recordset to the control, if the recordset field is Null, MFC sets the value of the index to 0. On a transfer from control to recordset, if the control is empty or if no item is selected, the recordset field is set to 0.
Use the first version if you are working with the ODBC-based classes. Use the second version if you are working with the DAO-based classes.
See DDX_FieldText for a general DDX_Field example. The example would be similar for DDX_FieldCBIndex.