刚学,请大家帮帮忙
解决方案 »
- iostream.h和iostream using namespace std;对system("pause")的影响
- webbrowser控件能不能截获网页关闭的事件?
- vc6跟vs2008 还是 xp跟vista的问题?
- 在资源里添加的Icon只能是32×32吗?
- 怎样跳出IE的"输入网络密码"窗口
- 动态生成的工具栏为什么不能刷新???
- 现在在看多线程程序设计(候捷)的书请进
- 那位仁兄帮忙解释一下“什么是管道”(我愿把所有的分数相送)
- 基础问题:ATL类间函数调用问题,怎么在一个自己生成的类中调用控制类中的函数?急!!!
- Private DC问题...
- 怎么定位光标位置?
- 用GDI+显示jpg,图片显示变大?
BOOL CLiveUpdateDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_F11)
CDialog::OnOK(); return CDialog::PreTranslateMessage(pMsg);
}
{
if( pMsg->message == WM_KEYDOWN )
{
switch( pMsg->wParam )
{
case VK_F11:
OnOK();
}
}
return CDialog::PreTranslateMessage(pMsg);
}
这种的好处是,不管你的程序当前对话框是否被激活,都可以响应的。
那为什么不能用OnChar或者OnKeyDown,我尝试用那两个东西,发现按键时,根本进不了那两个函数(我在那两个函数里做了断点),请问这是怎么回事?
*********************模态对话框不响应OnChar和OnKeyDown 在CDialog::PreTranslateMessage(pMsg);中过滤掉了,所以只有重载PreTranslateMessage,在其中响应,如楼上几位所说