在VC6中加入对话框,并放入编辑框,运行后,在编辑框中输入一些字母并按回车,程序自动退出;在用Listctrl控件时,对某一项进行编辑后习惯按回车键进行确定,但是回车键一按下,程序就自动退出了。对于这种问题,我们可以用如下简单的办法来解决:
方法:重载CDialog::PreTranslateMessage(MSG* pMsg);
[程序实现]
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN: // 屏蔽回车
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
用这种方法可以很好地屏蔽回车键解决自动退出程序问题。另外网上有关于其他的一些办法,改变对话框自动生成的“确定”“取消”按钮的ID,个人认为都不是很理想,而且遇到一些可编辑的东西时,程序可能照样会退出。