在下写程序时对话框中使用很多复选框,想简洁代码,请教该使用哪个宏呢?也请给个例子吧,稍微详细些的,
多谢~~,
在下使用的ON_COMMAND_RANGE,但是在cpp文件中写函数时,使用明明是这个对话框中已经声明过的变量(和编辑框联系),但是编译总是报错,
error C2065: 'm_e_2' : undeclared identifier
warning C4244: '=' : conversion from 'const float' to 'int', possible loss of data
其中的m_e_2是声明过的float变量,并不是int型的,
另外,使用诸如UpdateData(false);这样的函数也报错,
error C2065: 'UpdateData' : undeclared identifier
请教这是怎么回事啊?使用宏不能用其它函数么?
第1个回答 推荐于2018-03-28
ON_COMMAND 以及 ON_COMMAND_RANGE 是用于处理菜单项或工具栏按钮的命令消息的
对于复选框这样的控件,请使用ON_CONTROL_RANGE
1. 打开 resource.h,将你的复选框控件ID进行连续编号,例如1001,1002...
2. 在对话框类的头文件中添加公有成员函数:afx_msg void OnCheckBox(UINT uID) ;
3. 在对话框类的cpp文件中BEGIN_MESSAGE_MAP(CTestDlg, CDialog) 的 //}}AFX_MSG_MAP下添加代码 ON_CONTROL_RANGE(BN_CLICKED,1001,1003,OnCheckBox)
4. 然后在cpp文件中添加函数void CTestDlg::OnCheckBox(UINT uID) {}
5. 在函数内判断 uID,来确定用户单击了哪项复选框,并作相应处理。本回答被提问者和网友采纳
对于复选框这样的控件,请使用ON_CONTROL_RANGE
1. 打开 resource.h,将你的复选框控件ID进行连续编号,例如1001,1002...
2. 在对话框类的头文件中添加公有成员函数:afx_msg void OnCheckBox(UINT uID) ;
3. 在对话框类的cpp文件中BEGIN_MESSAGE_MAP(CTestDlg, CDialog) 的 //}}AFX_MSG_MAP下添加代码 ON_CONTROL_RANGE(BN_CLICKED,1001,1003,OnCheckBox)
4. 然后在cpp文件中添加函数void CTestDlg::OnCheckBox(UINT uID) {}
5. 在函数内判断 uID,来确定用户单击了哪项复选框,并作相应处理。本回答被提问者和网友采纳