VC里基于对话框的程序屏蔽回车键自动退出程序

平时,我们会碰到这样的问题:在VC6中加入对话框,并放入编辑框,运行后,在编辑框中输入一些字母并按回车,程序自动退出;在用Listctrl控件时,对某一项进行编辑后习惯按回车键进行确定,但是回车键一按下,程序就自动退出了。对于这种问题,我们可以用如下简单的办法来解决:

方法:重载CDialog::PreTranslateMessage(MSG* pMsg);
[程序实现]

 

View Code
 1 BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) 
2 {
3 if(pMsg->message == WM_KEYDOWN)
4 {
5 switch(pMsg->wParam)
6 {
7 case VK_RETURN: // 屏蔽回车
8 return true;
9 }
10 }
11
12 return CDialog::PreTranslateMessage(pMsg);
13 }


 

        用这种方法可以很好地屏蔽回车键解决自动退出程序问题。另外网上有关于其他的一些办法,改变对话框自动生成的“确定”“取消”按钮的ID,个人认为都不是很理想,而且遇到一些可编辑的东西时,程序可能照样会退出。

posted @ 2011-08-23 23:00  獨孤劒  阅读(1700)  评论(0编辑  收藏  举报