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);

编译器却一点错误信息也没有。

怪异!

posted on 2005-10-26 17:16  张大大123  阅读(222)  评论(0编辑  收藏  举报

导航