HACCEL 加速键表有什么作用?

nikeyes 2005-08-17 09:38:18
最好能举个例子~~
谢谢!!
...全文
713 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nikeyes 2005-08-17
api刚刚入门。。。看不明。。。
回复
Atomictry 2005-08-17
1. 生成一个名为CTestApp的新 MFC MDI 应用程序。
2. 在AboutBox 对话框上增加一个按钮,ID为 IDC_BUTTON1。
3. 双击按钮增加相应函数,插入如下代码:
AfxMessageBox("Hello");
4. 增加Accelerator资源IDR_ACCELERATOR1。
5. 向Accelerator Table中增加一个热键将F5和"IDC_BUTTON1"关联起来。
6. 为CAboutBox增加成员变量m_hAccelTable:
HACCEL m_hAccelTable;
7. 设定 CAboutBox 的 m_hAccelTable 初值::CAboutBox:
m_hAccelTable = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1));
8. 使用向导添加CAboutDlg的PreTranslateMessage函数。
9. 在CAboutBox::PreTranslateMessage(), 增加下面代码:
BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg) {
if (m_hAccelTable) {
if (::TranslateAccelerator(m_hWnd, m_hAccelTable, pMsg)) {
return(TRUE);
}
}
return CDialog::PreTranslateMessage(pMsg);
}
10. 编译运行CTestApp 。
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-08-17 09:38
社区公告
暂无公告