Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527686
  • 博文数量: 40
  • 博客积分: 6020
  • 博客等级: 准将
  • 技术积分: 1711
  • 用 户 组: 普通用户
  • 注册时间: 2005-09-20 18:49
文章分类

全部博文(40)

文章存档

2011年(10)

2010年(13)

2009年(12)

2008年(5)

分类: C/C++

2011-03-24 11:27:52

平时,我们会碰到这样的问题:在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,个人认为都不是很理想,而且遇到一些可编辑的东西时,程序可能照样会退出。

阅读(5383) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~