如何对弹出菜单的消息消息消息进行集中处理?
弄了一个弹出菜单有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)
{
}
}
[解决办法]