读书人

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

发布时间: 2012-05-05 17:21:10 作者: rapoo

如何对弹出菜单的消息消息消息进行集中处理?
弄了一个弹出菜单有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值怎办?

读书人网 >VC/MFC

热点推荐