能否向消息响应函数传递控件的ID //{{AFX_MSG_MAP(CExamView)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)//}}AFX_MSG_MAPEND_MESSAGE_MAP()afx_msg void OnButton1();如上面的例子,有没办法将控件的id:IDC_BUTTON1传递给消息响应函数OnButton1();除了找微软修改MFC 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么要传递呢?GetDlgCtrlID就可以获得啊。 通过其他变量传或者用 ON_COMMAND_RANGE int GetDlgCtrlID( HWND hwndCtl // handle to control); ON_BN_CLICKED(, OnButton1)晕,你这种情况,当然只有 IDC_BUTTON1 的click会调用 OnButton1, 在 OnButton1 中当前控件的id当然就是 IDC_BUTTON1 如果给多个控件映射一个处理函数, 使用 ON_COMMAND_RANGE 我想用一个消息响应函数响应N个动作(单击其他按钮也用这个函数响应),函数根据ID号的不同产生相应的操作,这样做也没什么作用,只是可以少写些响应函数。 如果消息响应函数只有一个,单击N个按钮都将调用此函数,那么我当然需要知道点击了谁,才调用的这个函数.如果有办法在函数中知道按的那个按钮的ID,这样虽然是调用同一个响应函数,但按不同的按钮产生的结果是不同的 这种需求,应该是各个按钮中处理不同的信息,而相同的部分做一个公共函数func(),所有按钮响应函数中都调用func,同时添加各自不同的处理代码 谢谢大家!skyxie的方法我试过了,很好,谢谢。 不好意思,说错了,是PlayItHart的方法是正解:ON_COMMAND_RANGE(BN_CLICK,ID_0,ID_9,OnFDFDFClick); afx_msg void OnFDFDFClick(UINT nID) 这里nID就是我要的。 不好意思,又搞错了回头试了下ON_COMMAND_RANGEON_CONTROL_RANGE都可以澄清下,以免误导人skyxie,对不住了晕,分已经给了,有重新分配的办法吗? 字符指针 关于安装MSDN问题 我想了解MFC中的列表视图类的有关内容 ocx 静态调用 dll 问题,dllmain 冲突 菜鸟请教各位如何取得父对话框的HDC?谢谢拉! 那里有好的界面控件可以下载 大家看看这个DLL,是微软的可以绝对读盘的DLL写法,可是好象不行,不知道为什么?? 深入浅出上的一个程序不明白,来请教。 怎么看到是哪个问题的主人给你分的? 又是控件问题100分,急啊 急求VC++文本界面的控制台应用程序开发方面的资料 初学者的问题(大家帮一帮)
HWND hwndCtl // handle to control
);
晕,你这种情况,当然只有 IDC_BUTTON1 的click会调用 OnButton1, 在 OnButton1 中当前控件的id当然就是 IDC_BUTTON1
如果给多个控件映射一个处理函数, 使用 ON_COMMAND_RANGE
skyxie的方法我试过了,很好,谢谢。
ON_COMMAND_RANGE(BN_CLICK,ID_0,ID_9,OnFDFDFClick);
afx_msg void OnFDFDFClick(UINT nID)
这里nID就是我要的。
回头试了下
ON_COMMAND_RANGE
ON_CONTROL_RANGE
都可以
澄清下,以免误导人skyxie,对不住了
晕,分已经给了,有重新分配的办法吗?