zoukankan      html  css  js  c++  java
  • 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程序测试通过,完全可以实现,红色的代码是可以根据自己的实际情况修改的。

  • 相关阅读:
    CAP 与数据一致性
    C++的构造函数为何不能为虚函数
    构造函数和析构函数中可以调用调用虚函数吗
    HTTP状态码
    C++ 单例模式实现
    【转】十大经典排序算法
    C++ short/int/long/long long 等数据类型大小
    块/文件/对象三种存储的优缺点
    罗振宇《时间的朋友》2019-2020
    Google Hacking
  • 原文地址:https://www.cnblogs.com/lpxblog/p/4606756.html
Copyright © 2011-2022 走看看