在程序中F1-F9加速键不响应,我程序实现是这样的:主窗口被分割成上下左右三个窗口,左侧是一个outlookbar里面里面是有个Tree,右侧有是View的,大致分割后的情况如图所示:  -------------------------------------------------------------
---           ---                                                      ---
---           ---                                                      ---
---           ---                                                      ---
---           ---                                                      ---
--- tree    ---      view                                          ---
---           ---                                                      ---
---           ---                                                      ---
---           ---                                                      ---
---           ---                                                      ---
--------------------------------------------------------- ---
---                                                                     ---
---                                                                     ---
-------------------------------------------------------------
问题是:当按下F1-F9加速键中的某一特定键时,右侧只有一个view时能够正常显示试图;但当View中是一个CTabCtrl(CTabCtrl上放了三个Dlg) 时,所有的加速键都不可用,但当用鼠标点击左侧树时,此时加速键可用;请问我的问题在哪儿,应该怎么正确去响应F1-F9的事件?

解决方案 »

  1.   

    楼主你要理解 快捷键与加速键 的区别。加速键:属于一种资源,可以在资源编辑器中编辑。如果“退出”的ID是ID_EXIT,设置其加速键为ctrl+e。那么只要将资源载入并挂接了主程序,就可以按ctrl+e来执行。不过要注意:如果应用程序包含了几个子窗口,而且其中一个具有输入焦点,那么键盘消息发送到子窗口而不是主窗口,但是加速键不一样,只要按下,引发的WM_COMMAND会发送给主窗口,即使子窗口具有输入焦点。
      

  2.   

    一句话,在MainFrm里面设置,就没你说的这个问题了.楼主肯定是在View里面设置的