• 对话框中屏蔽回车键和ESC键


    对话框中屏蔽回车键和ESC键

    基于对话框的应用程序中,对于回车键和ESC键,在工程建立的时候就已经有了响应函数,分别是:
    void CXXXDialog::OnOK();和void CXXXDialog::OnCancel()
    这两个函数中,都只有一句代码,分别是CDialog::OnOK();和CDialog::OnCancel
    这会导致一个问题:按下回车键和ESC键之后会令对话框析构并消失,所不同的是按下回车键后DoModal
    返回的是IDOK,按下ESC键盘之后DoModal返回的是IDCANCEL

    但是大部分时候我们并不希望按下回车键和ESC键之后使对话框退出,所以应该屏蔽掉这两种情况,做法如下:
    首先在对话框的.h文件中加入如下内容:
    virtual void OnOK();
    virtual void OnCancel();
    然后在cpp文件中写出这两个函数的代码:
    void CXXXDialog::OnOK()
    {
    //什么都不用做
    //CDialog::OnOK();
    }
    void CXXXDialog::OnCancel()
    {
    //什么都不用做
    //CDialog::OnCancel();
    }

    然后可以自己在对话框上摆上“确定”、“取消”这样的按钮,然后在这些按钮的响应函数中写上CDialog::OnOK这样的代码用来退出对话框

    注意:如果对话框放在了一个标签页中,那么一定要将回车键和ESC键屏蔽掉,否则在标签页中按一下回车键或者是ESC键,就会出现该页内容
    消失的情况。
  • 相关阅读:
    Mysql加锁过程详解(1)-基本知识
    Mysql加锁过程详解(5)-innodb 多版本并发控制原理详解
    java笔试题-1
    通过六个题目彻底掌握String笔试面试题
    JDBC实现往MySQL插入百万级数据
    打印变量地址-0x%08x
    cin中的注意事项
    猎豹网校C++ Primer学习笔记
    物体检测相关——学习笔记
    teraflop级、TFLOPS、TOPS
  • 原文地址:https://www.cnblogs.com/super119/p/2011335.html
Copyright © 2020-2023  润新知