关于网友提出的“ 不给菜单选项添加响应函数,则如何响应菜单上的选项”问题疑问,本网通过在网上对“ 不给菜单选项添加响应函数,则如何响应菜单上的选项”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 不给菜单选项添加响应函数,则如何响应菜单上的选项
描述: 因为菜单选项很多,所以不想给每个选项都添加函数,太累赘了感觉.
我记得以前用过一次,好象是ON_COMMAND_RANGE,只要获得选项的ID\或则编号即可处理消息响应,请各位指点,谢谢
解决方案1: #define ID_SLOT83 32777
#define ID_SLOT84 32778
#define ID_SLOT85 32779
#define ID_SLOT86 32780
ON_COMMAND_RANGE(ID_SLOT83, ID_SLOT86, OnCommandItem)
ON_COMMAND_RANGE()的对应函数形式是void (CCmdTargerd*)(UINT)
所以你的这个OnCommandItem有个UINT类型的参数,这个参数就是相应的菜单项ID
你处理这个函数的时候直接拿这个ID来作判断进行区分就行了
解决方案2: OnCommand当你做消息映射时必须指定ID 也得一个一个的来
你自己说的ON_COMMAND_RANGE就是对的
解决方案3: OnCommand
HIWORD(wParam) //If the message is from a menu, the high-order word is 0.
LOWORD(wParam) //The low-order word of wParam identifies the command ID
解决方案4: 如果要映射消息函数就用ON_COMMAND_RANGE;也可以重载主窗口与WM_COMMAND有关的虚函数。
以上介绍了“ 不给菜单选项添加响应函数,则如何响应菜单上的选项”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2520816.html