请教MFC中ON_COMMAND_RANGE和ON_CONTROL_RANGE宏有什么区别呢?
在下写程序时对话框中使用很多复选框,想简洁代码,请教该使用哪个宏呢?也请给个例子吧,稍微详细些的,多谢~~,在下使用的ON_COMMAND_RANGE,但是在cpp文件中...
在下写程序时对话框中使用很多复选框,想简洁代码,请教该使用哪个宏呢?也请给个例子吧,稍微详细些的,
多谢~~,
在下使用的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
请教这是怎么回事啊?使用宏不能用其它函数么? 展开
多谢~~,
在下使用的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个回答
展开全部
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,来确定用户单击了哪项复选框,并作相应处理。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询