从MFC中的DoDataExchange确定呼叫者ID

时间:2014-11-04 14:14:53

标签: c++ mfc

我想为菜单资源中的不同ID实现一个不同的函数。例如:

ON_COMMAND(ID_1, Func)
ON_COMMAND(ID_2, Func)
ON_COMMAND(ID_3, Func)


void Func()
{
switch(id)
case ID_1:
//DO THIS
break;

case ID_2:
//DO THAT
break;
...

有没有办法确定调用资源的ID?

1 个答案:

答案 0 :(得分:2)

考虑使用ON_COMMAND_RANGE宏。消息处理程序具有UINT nID参数:

afx_msg void Func(UINT nID);

ON_COMMAND_RANGE(ID_1, ID_3, Func)

注意:MFC应用程序向导不支持此宏,您需要手动添加它。资源ID范围必须是连续的。