Во-первых, в классе диалога создаются переменные соответствующего типа.
class CMyDialog : public CDialog { // Construction public: CMyDialog(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CMyDialog) enum { IDD = IDD_MYDIALOG_DIALOG }; CString m_Myedit; //}}AFX_DATA
Во-вторых, в конструкторе диалога производится инициализация.
CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/) : CDialog(CMyDialog::IDD, pParent) { //{{AFX_DATA_INIT(CMyDialog) m_Myedit = _T(""); //}}AFX_DATA_INIT }
В-третьих, создается DDX макрос, в котором описывается тип связи переменная - элемент управления.
void CMyDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDialog) DDX_Text(pDX, IDC_EDIT2, m_MyEdit); //}}AFX_DATA_MAP }
При желании можно все сделать самому. Только не пишите свою DDX функцию внутри //{{AFX_DATA_MAP. Это место только для ClassWizard.