Честно говоря, в VC (VS) обычно поступают проще - определяют для контролов переменные (не Control а Value) с требуемым типом, и просто в нужный момент делают UpdateData(TRUE) - записать значение в переменные (обновить их) или, UpdateData(FALSE) - наоборот, обновить контролы данными из переменных. Вот не большой пример:Это делает "мастер" - привел для наглядности<code>CtestDlg::CtestDlg(CWnd* pParent /*=NULL*/) : CDialog(CtestDlg::IDD, pParent) , m_a(0) , m_b(0){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CtestDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_BTNSOLVE, btnSolve); DDX_Text(pDX, IDC_EDIT1, m_a); DDX_Text(pDX, IDC_EDIT2, m_b);}</code>а вот и наша функция - нажатие на кнопку "solve" - вычислить<code>void CtestDlg::OnBnClickedBtnsolve(){ UpdateData(TRUE); m_b = m_a * 2; UpdateData(FALSE);}</code>