怎么在 C++ 中将多个事件连接到单个事件处理程序
如何在 C++ 中将多个事件连接到单个事件处理程序
昨天开始学习C++ 2005,发现很奇怪的一个问题,我在网上搜遍了也没找到明确的答案。
在VS 2005中,在 VB、C# 中,都可以将多个事件连接到单个事件处理程序,而在 C++ 中为什么不可以?为什么不可以象C#(或Delphi)那样通过在属性面板值区的下拉列表直接选择一个已经有的事件处理程序呢?而如果直接输入已经存在的事件处理函数名字,会提示重载函数失败,不允许!
当然,在MESSAGE_MAP块中可以手动填加,但感觉这并不符合标准要求,且易出错。
诚请各位大侠指教,谢谢。
PS:不要告诉我这个功能没有用。因为我在练习做一个小计算器程序,每个数字按钮功能几乎都一个,将多个事件连接到单个事件处理程序可大大地减少代码数量。这一功能在同时具有菜单和快捷按钮的程序中也是有用处的。
------解决方案--------------------
呃,是按钮么?
ON_COMMAND_RANGE
有这个宏.
------解决方案--------------------
对不起, 兄弟, 做程序员你就要习惯走偏门.
快乐的修改MESSAGE_MAP去吧, 不会出错的,放心!
当然,如果是楼上所说的 WM_COMMAND 类的消息,的确可以使用 ON_COMMAND_RANGE 来使ID通知通向一个处理通知的程序.
可是,
您还是学会修改 MESSAGE_MAP吧, 总要走这一步的.
昨天开始学习C++ 2005,发现很奇怪的一个问题,我在网上搜遍了也没找到明确的答案。
在VS 2005中,在 VB、C# 中,都可以将多个事件连接到单个事件处理程序,而在 C++ 中为什么不可以?为什么不可以象C#(或Delphi)那样通过在属性面板值区的下拉列表直接选择一个已经有的事件处理程序呢?而如果直接输入已经存在的事件处理函数名字,会提示重载函数失败,不允许!
当然,在MESSAGE_MAP块中可以手动填加,但感觉这并不符合标准要求,且易出错。
诚请各位大侠指教,谢谢。
PS:不要告诉我这个功能没有用。因为我在练习做一个小计算器程序,每个数字按钮功能几乎都一个,将多个事件连接到单个事件处理程序可大大地减少代码数量。这一功能在同时具有菜单和快捷按钮的程序中也是有用处的。
------解决方案--------------------
呃,是按钮么?
ON_COMMAND_RANGE
有这个宏.
------解决方案--------------------
对不起, 兄弟, 做程序员你就要习惯走偏门.
快乐的修改MESSAGE_MAP去吧, 不会出错的,放心!
当然,如果是楼上所说的 WM_COMMAND 类的消息,的确可以使用 ON_COMMAND_RANGE 来使ID通知通向一个处理通知的程序.
可是,
您还是学会修改 MESSAGE_MAP吧, 总要走这一步的.