加速键的使用

第一步:创建加速键表

在Resource试图中添加一个Accelerator资源表,在表中根据条件输入值。

第二步:在类中添加一个HACCEL的变量

          HACCEL m_hAccel;

第三步:在初始化函数里面加载对应的加速键表

m_hAccel= ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
其中IDR_ACCELERATOR1表示加速键表的ID,别弄错
第四步:添加虚函数PreTranslateMessage
 BOOL CAAADlg::PreTranslateMessage(MSG* pMsg) 
{
   if(hAccel   !=   NULL)   
   {   
      if (TranslateAccelerator(m_hWnd, hAccel, pMsg))
   
      return   TRUE;  
  
   }    
        return CDialog::PreTranslateMessage(pMsg);
}

 

第五步:创建处理的函数,例如在头文件中定义

          void MyEnter();

 在.cpp文件中

  CXXXDlg::MyEnter()

 {

    …………

  }

第六步:添加消息响应

ON_COMMAND(ID_MY_ENTER,myenter)

 注意ID与函数名相对应

版权声明:本文为it20120227原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/it20120227/archive/2011/08/10/2370918.html