首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC ClassWizard-Member Variables有关问题

2012-03-05 
MFC ClassWizard----Member Variables问题ControlIDs:TypeMemberIDC_BUTTON1CButtonm_btn1———————————————

MFC ClassWizard----Member Variables问题
Control   IDs:       Type           Member
IDC_BUTTON1         CButton     m_btn1
—————————————————————————————————————
问题:这里定义的CButton变量m_btn1   不是IDC_BUTTON1吧?但为什么在程序中可以
m_btn1.SetWindowText( "你已经按下了按钮! ");
m_btn1仅仅是按钮对象的一个成员变量而已,怎么会控制这个按钮来显示文本呢?
附:对话框函数GetDlgItem()返回的是对象的指针吧,我觉得这个函数的返回值才代表真正的对象本身,不知道理解的对不对?


[解决办法]

void CXXXDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CXXXDlg)
DDX_Control(pDX, IDC_BUTTON_PAUSE, m_btnPause);
DDX_Text(pDX, IDC_EDIT_DEVICE_GUID, m_strDeviceGuid);
//}}AFX_DATA_MAP
}
部分看控件关联的变量,
DDX_Control表示关联的是对象,而DDX_Text表示关联的是值。
当关联的是对象时,它可以控制控件的行为
[解决办法]
主要是数据交换void CXXX::DoDataExchange(CDataExchange* pDX){}的作用,把控件ID和相应的变量联系起来的.
[解决办法]
这正是VC的方便之处。

热点排行