CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在基于对话框的程序里,如何定义快捷键Alt+s?

楼主qiek(道可道非常道)2003-11-02 22:18:20 在 VC/MFC / 基础类 提问

不是Ctrl或其他,而是Alt+s  
   
  我用了  
  BOOL   CMYDlg::PreTranslateMessage(MSG   *pMsg)  
  {  
  if(pMsg->message==WM_KEYDOWN)  
  {  
  if(GetKeyState(VK_MENU)&GetKeyState(0x53))  
  {  
  ::AfxMessageBox("ww");  
  }  
  }  
  return   CDialog::PreTranslateMessage(pMsg);  
  }  
   
  却不行,请高手指教!  
  问题点数:20、回复次数:3Top

1 楼xtuzi(小兔子)回复于 2003-11-02 23:35:37 得分 10

你可以用Accelerator,实现任何快捷键  
  CreateAccelerator....   //API,具体的忘了  
  TranslateAccelerator  
   
  如果仅仅是Alt   +   S。比如一个按纽Button,你只需要在caption里加上(&S)就可以了,跟菜单的方式一样。Top

2 楼everandforever(Forever)回复于 2003-11-03 00:08:31 得分 5

ALT   属于   WM_SYSKEYDOWN    
   
                  case   WM_SYSKEYDOWN:  
                          if(   Msg.wParam   ==   83   )   //   'S',   不必区分大小写  
                              if(   ((int)GetKeyState(VK_LMENU))&32768   //左   ALT  
                              ||   ((int)GetKeyState(VK_RMENU))&32768   )   //右   ALT  
                          {  
                                  ...  
                          }  
                          break;  
  Top

3 楼sxslyy(孤松傲雪)回复于 2003-11-03 10:31:54 得分 5

在Dlg的头文件中加入:  
  HACCEL   m_hAccel;  
  在Dlg的构造函数中加载加速键:  
  m_hAccel=::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));//加速键ID  
  重载PreTranslateMessage函数:  
  BOOL   CDlg::PreTranslateMessage(MSG*   pMsg)    
  {  
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
  if(m_hAccel!=NULL)  
  if(::TranslateAccelerator(m_hWnd,m_hAccel,pMsg))  
  return   TRUE;  
  return   CDialog::PreTranslateMessage(pMsg);  
  }  
  一切OK;Top

相关问题

  • 如何在对话框中响应快捷键?
  • 如何在对话框中实现快捷键?
  • 我将对话框的按钮设置了快捷键
  • dll 中的无模式对话框,快捷键失灵
  • 求教:对话框Dialog上控件的快捷键
  • 如何在基于对话框的程序中加入快捷键(不用hotkey)
  • 怎么为对话框中的工具条上实现快捷键?
  • 怎么在基于对话框的程序中响应“快捷键消息”
  • 对话框的快捷键,没搞定,那个大虾给看看..
  • 在对话框中使用快捷键出现断言错误,急,在线等

关键词

  • haccel
  • pmsg
  • pretranslatemessage
  • getkeystate
  • alt
  • vk
  • msg
  • wm

得分解答快速导航

  • 帖主:qiek
  • xtuzi
  • everandforever
  • sxslyy

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo