基于对话框的应用程序,
F1键是帮助键,
想要屏蔽原有的帮助功能
而改用static void CXX::CallHelp()函数我的实现代码是LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
if(VK_F1==wParam)
{
CXX::CallHelp();
return 1;
}
else
{
return CallNextHookEx(g_hKeyboard, code, wParam, lParam);
}
}但是实现的效果是 它即调用CXX::CallHelp(),也调用系统原有的帮助功能,
怎么改?
F1键是帮助键,
想要屏蔽原有的帮助功能
而改用static void CXX::CallHelp()函数我的实现代码是LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
if(VK_F1==wParam)
{
CXX::CallHelp();
return 1;
}
else
{
return CallNextHookEx(g_hKeyboard, code, wParam, lParam);
}
}但是实现的效果是 它即调用CXX::CallHelp(),也调用系统原有的帮助功能,
怎么改?
解决方案 »
- 求帮助,如何设计一个按钮,从选择的txt文件中提取数据,并导入到数据库中
- 请问ShowWindow(TRUE)和ShowWindow(FALSE)是哪个类的函数
- 接收COPYDATA消息后显示是乱码,估计是Unicode编码的问题,该如何处理啊?
- CPtrArray类排序问题?
- 一个十分怪异的问题,相同的RGB值会有不同的颜色?
- 打开新窗口的问题>>
- ODBC连接数据库如何判断超时
- LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
- 如何在MFC的编辑框中输入数据改变函数中数组的大小
- 不能在对话框析构函数中释放Bitmap类型的对象?
- DDV_MinMaxUInt()可否修改超出范围后的提示信息?
- 这段OPENGL纹理贴图代码蕴藏什么奥妙
BOOL CXX::PreTranslateMessage(MSG* pMsg)
{
USES_CONVERSION;
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN && IsCTRLPressed())
{
switch (pMsg->wParam)
{
...
case 'e':
case 'E':
OnCoolMenuClose();
return TRUE;
...
default:
break;
}
}
else if (IsDELPressed())
{
OnCoolRemove();
return TRUE;
}
else if (pMsg->message == WM_KEYDOWN && pMsg->wParam==VK_F1)
{
CallHelp();
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
就是弹出这样的提示框
Can't find the HLP file,do you want to try to find this file yourself?帮助文件是自己写的chm文件
你处理一下WM_HELPINFO消息,在里面return TRUE;试试
BOOL Cf1Dlg::OnHelpInfo(HELPINFO* pHelpInfo)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return TRUE;
//return CDialog::OnHelpInfo(pHelpInfo);
}