首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么对弹出菜单的消息消息消息进行集中处理

2012-05-05 
如何对弹出菜单的消息消息消息进行集中处理?弄了一个弹出菜单有10项。大多只是对公共变量,+,-,*,/..很单一

如何对弹出菜单的消息消息消息进行集中处理?
弄了一个弹出菜单有10项。大多只是对公共变量,+,-,*,/..很单一操作,很多就一句代码。
用通常的新建菜单ID消息影射,分别要建10多个消息影射函数。

..
ON_COMMAND(ID_CALENDAR_MONTH_DOWN, OnCalendarMonthDown)
ON_COMMAND(ID_CALENDAR_MONTH_UP, OnCalendarMonthUp)
ON_COMMAND(ID_CALENDAR_YEAR_DOWN, OnCalendarYearDown)
ON_COMMAND(ID_CALENDAR_YEAR_UP, OnCalendarYearUp)
..

void CFrameDlg::OnCalendarMonthDown() 
{
m_nMonth--;  
}
/////////////////////////////////////////////////////////

如何集中处理菜单ID的消息呢?
  switch()
  {
  case ID_CALENDAR_MONTH_DOWN:
  m_nMonth--;  
  break;

  ....

  }

在哪里建立集中消息处理呢?谢谢


[解决办法]
ON_COMMAND_RANGE(ID_CALENDAR_MONTH_DOWN, ID_CALENDAR_YEAR_UP, OnCalendar)

void CFrameDlg::OnCalendarMonth()
{
int id = GetCurrentMessage()->msg;
switch(id)
{
}
}
[解决办法]

探讨

ON_COMMAND_RANGE()为何才能装入两个,ID值,10多个ID值怎办?

热点排行