win32 对话框模板添加加速键

2021/9/13 23:10:32

本文主要是介绍win32 对话框模板添加加速键,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天想在菜单中添加加速键的时候,因是用的对话框模板,不能接受WM_KEYDOWN消息,

在网上收了半天,都不理想,最后在看WM_COMMAND的时候发现有个  wparam的低位有个加速键标识

最后把这个标识符用在WM_COMMAND消息中成功

 

要在OnInitDialog函数中添加,加速键资源

m_hAccel = LoadAccel(IDR_ACCELERATOR1);

 

在消息循环中

//消息循环
MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
  if(!TranslateAccelerator(hWnd,hAccel,&msg))//有加速键表时用这,没有就不用
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }

}

 

实例:

switch(uMsg)

{

  case WM_COMMAND:

  if(LOWORD(wParam)==ID_QUIT && HIWORD(wParam)==1)//键鼠点击为0,加速键为1

  {

    MessageBox(m_hWnd,TEXT("idquit"),TEXT("消息提示"),MB_OK);

  }

  break:

}

这就可以有加速键了

效果图:

 

 



这篇关于win32 对话框模板添加加速键的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程