请教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
请教这是怎么回事啊?使用宏不能用其它函数么?
展开
 我来答
superhuiwolf
推荐于2018-03-28 · TA获得超过158个赞
知道答主
回答量:78
采纳率:0%
帮助的人:85.3万
展开全部
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,来确定用户单击了哪项复选框,并作相应处理。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式