前提:我用VC2005 MFC基于对话框做了个记事本----在资源视图中添加menu方便加菜单项(新建,打开,保存等)---记事本代码都已经添加完成-已能运行但出现一个小小问题 
错误:我在资源视图里添加了一个资源(IDR_ACCELE........)方便添加快捷键,但是添加完成运行的时候按快捷键不能用。
请问原因在那?我找了 好多方法 还是不行,菜鸟求助!

解决方案 »

  1.   

    资源:Accelerator中添加快捷键
      

  2.   

    在对话框里用快捷键是需要自己来写代码的.     
      大体的方法可以如下:     
      在对话框中增加一成员变量:     
      HACCEL     m_hAccel     
      在OnInitDialog()函数中将快捷键加载:     
      m_hAccel   =   LoadAccelerators(AfxGetInstanceHandle(   ),     
                                      MAKEINTRESOURCE(IDR_ACCELERATOR));     
      需要判断是否加载成功,即m_hAccel是否为NULL.     
      在PreTranslateMessage(MSG*   pMsg)中处理快捷键的消息:     
      if   (m_hAccel   !=   NULL)     
              TranslateAccelerator(this->m_hWnd,   m_hAccel,   pMsg);     
      当然了,在对话框关闭时不能记了删除加载的快捷键:     
      if   (m_hAccel   !=   NULL)     
              DestroyAcceleratorTable(m_hAccel);   
      

  3.   

    这里说的很详细
    http://blog.csdn.net/jiazhen/archive/2008/03/21/2202397.aspx