初学者问题,关于Member Variable
在Class Wizard中,可以为CDialog类中的控件指定一个Member,例如Edit类,可以
定义一个CString类型成员或者CEdit类型成员与其连接。定义好后在代码中会有这样
的定义和代码:
//{{AFX_DATA(CINIOPDlg)
enum { IDD = IDD_INIOP_DIALOG };
CListBox m_pList;
CString m_cSrc;
CString m_cDes;
//}}AFX_DATA
....
void CINIOPDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CINIOPDlg)
DDX_Control(pDX, IDC_LIST1, m_pList);
DDX_Text(pDX, IDC_EDIT1, m_cSrc);
DDX_Text(pDX, IDC_EDIT2, m_cDes);
//}}AFX_DATA_MAP
}
如上,但是如果我定义了,在程序中直接改变m_cSrc的值并不会导致控件中的文本内容
改变:
m_cDes = "dddd";
m_cSrc = "lll";
还需要什么附加操作?另外MFC框架中的DataExchange是怎么个原理?有高手能讲一下
吗?