码迷,mamicode.com
首页 > 其他好文 > 详细

在MFC对话框程序中使用加速键

时间:2014-08-05 22:44:20      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   io   文件   2014   ar   size   

新建一个基于对话框的工程,添加一个按钮,修改按钮ID,这里为ID_BTN_OPENFILE,为按钮添加消息响应事件,这里我打开文件保存对话框:

void CAccelDlg::OnBtnOpenfile() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg (TRUE);
	dlg.DoModal ();	
}
为工程添加一个加速键资源,添加一条,注意ID要和按钮的ID相同,只有这样才能产生关联

bubuko.com,布布扣

为主对话框类添加一个加速键变量成员:

HACCEL m_hAccel;
在对话框的OnInitDialog初始化函数中加载加速键资源

  // 加载加速键资源
  m_hAccel = LoadAccelerators (AfxGetInstanceHandle (), MAKEINTRESOURCE(IDR_ACCELERATOR1)); 

然而对话框要处理加速键需要处理按键消息,翻译加速键,添加虚函数:PreTranslageMessage,在函数里添加对加速键的翻译函数

TranslateAccelerator (m_hWnd, m_hAccel, pMsg);

Ok, 到这里就可按 Ctrl+o 键达到和点击“打开”按钮一样的效果:

bubuko.com,布布扣

在MFC对话框程序中使用加速键,布布扣,bubuko.com

在MFC对话框程序中使用加速键

标签:blog   http   使用   io   文件   2014   ar   size   

原文地址:http://blog.csdn.net/eldn__/article/details/38390051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!