送分大行动!!一个关于基于对话框应用程序的小问题。 用vc创建一个基于对话框的应用程序,当按<ESC>键时,程序会退出。如何才能做到当按<ESC>键时,程序不退出? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 双击CANCEL按钮,屏蔽//CDialog::OnCancel();就可以了 在C*Dlg::PreTransMessage(CMsg* pmsg)里处理if (pmsg->message==WM_CHAR&&pmsg->lparam==..)return; 重载函数OnCancel() ,将里面的CDialog::OnCancel();一句屏蔽即可。void CTestDlg::OnCancel() { // TODO: Add extra cleanup here // CDialog::OnCancel();} 将oncancel的缺省实现注释掉即可 重载PreTranslateMessage函数。BOOL CCXXX::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { switch(pMsg->wParam) { case VK_RETURN://屏蔽回车 return TRUE; case VK_ESCAPE://屏蔽Esc return TRUE; } } return CDialog::PreTranslateMessage(pMsg);} 都有三个人说了,都说对了,我就不说了。good luck. 急!希望大家帮帮我 假高手就不要进来了 为什么说文档视图结构落后了呢? MFC中时间计数器的问题(郁闷)!! 弹出窗口问题,急急急!!! 请问INSTALL SHIELD 怎么使用? 走过路过,千万不要错过,(做过打印程序的高手)分数单独送!!! 真的不懂啊,所以要请教了 怎样控制IE的滚动条? 请问VC能不能调用用其他编译器生成的DLL中的类?? 两个工作线程间怎么传递数据? 关于漂亮菜单问题
//CDialog::OnCancel();
就可以了
if (pmsg->message==WM_CHAR&&pmsg->lparam==..)return;
{
// TODO: Add extra cleanup here
// CDialog::OnCancel();
}
BOOL CCXXX::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN://屏蔽回车
return TRUE;
case VK_ESCAPE://屏蔽Esc
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}