标签:对话框 WM win32 COMMAND 消息 msg 加速 模板
今天想在菜单中添加加速键的时候,因是用的对话框模板,不能接受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:
}
这就可以有加速键了
效果图:
标签:对话框,WM,win32,COMMAND,消息,msg,加速,模板 来源: https://www.cnblogs.com/greenleaf1976/p/15265210.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。