• MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法


    http://blog.csdn.net/xgx198831/article/details/6713651

    MFC对话框程序  屏蔽ESC和ENTER键关闭对话框的方法

    或许还有其它更好的办法,但下面这个肯定有用,主要就是重载PreTranslateMessage()函数,在这个函数里捕捉ESC和ENTER键按下时的消息,然后什么都不做,或是添加代码完成你自己想要实现的功能。
    1.完全屏蔽ESC键与ENTER回车键
    BOOL CTest1Dlg::PreTranslateMessage(MSG* pMsg)
    {
        if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN)    
            return TRUE; 
        if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_ESCAPE)    
            return TRUE; 
        return CDialog::PreTranslateMessage(pMsg);
    }

    2.完全屏蔽ESC键,捕捉ENTER回车键
    BOOL CTest1Dlg::PreTranslateMessage(MSG* pMsg)
    {
        if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN )     
        {
            if(GetFocus()->GetDlgCtrlID()==IDC_MSG_SEND)//按下回车,如果当前焦点是在自己期望的控件上
            {                                           
                CTest1Dlg::OnBnClickedBtnSend();//添加自己的处理代码
            }
             return TRUE;
        }
        if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)     
            return TRUE;  
        return CDialog::PreTranslateMessage(pMsg);
    }
    该代码在VC中的MFC程序测试通过,完全可以实现,红色的代码是可以根据自己的实际情况修改的。

  • 相关阅读:
    吃一堑长一智
    人做事 天看着
    【转贴】英语中12个月名称的由来
    4199,流氓中的流氓
    【转贴】看D片容易误解的10个词组
    【转载】中国小吃(英文表达)
    拼死拼活为了啥!
    GCII 1.4对1.31改进
    上古III的汉化和美化修正
    linux下tar的用法
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4606756.html
Copyright © 2020-2023  润新知