Шаг 36 - Что происходит при связи элемента с переменной

Во-первых, в классе диалога создаются переменные соответствующего типа.

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.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.