加速键问题
他那里说对应起来,我这没对应,只是用 ON_COMMAND 映射一下,加速键也好使。
- C/C++ code
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd) ON_WM_LBUTTONDOWN() ON_COMMAND(ID_40001,s) //这是菜单项的映射 ON_COMMAND(ID_ACCELERATOR40013,s)//这是加速键的映射,这是好使的END_MESSAGE_MAP()
打开 RC 文件证实一下,代码是下面这样的,看起来并没有映射菜单项的 ID
- C/C++ code
///////////////////////////////////////////////////////////////////////////////// Accelerator//IDR_ACCELERATOR1 ACCELERATORS BEGIN "T", ID_ACCELERATOR40013, VIRTKEY, CONTROL, NOINVERTEND
[解决办法]
书上的意思是,只要你使用了和菜单项相同的ID,那加速键和菜单项就可以共用同一条消息映射及其映射函数了