ON_COMMAND_RANGE和ON_UPDATE_COMMAND_UI_RANGE
ON_COMMAND_RANGE 和 ON_UPDATE_COMMAND_UI_RANGE 可以影射ID连续的Toolbar/Menu ID。
ON_COMMAND_RANGE影射的消息响应函数需要一个参数UINT表明是哪一个消息,
afx_msg void OnZoom(UINT nID);
而ON_UPDATE_COMMAND_UI_RANGE的消息响应函数则无此ID,与ON_UPDATE_COMMAND_UI的消息响应函数原型相同。
afx_msg void OnUpdateZoom(CCmdUI* pCmdUI);
原因是CCmdUI有一个数据成员m_nID标示ID。
注:所有的这些影射要放在{{AFX_MSG_MAP之外!
刚开始使用还真不习惯,为何同是XXX_RANGE,确不按相同的规则办事,并且即使写成:
afx_msg void OnUpdateZoom(UNIT nID, CCmdUI* pCmdUI);
编译器却一点错误信息也没有。
怪异!