zoukankan      html  css  js  c++  java
  • 对话框中屏蔽回车键和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键,就会出现该页内容
    消失的情况。
  • 相关阅读:
    MongoDB学习笔记(二)
    mongoDB学习笔记(一)
    docker官方文档笔记
    nagios
    网络流量状态命令总结 (含notp安装)
    other
    一键搭建LNMP脚本
    linux问题总结
    linux中VI编写C程序。。。
    centos 7 安装python3.5.1
  • 原文地址:https://www.cnblogs.com/super119/p/2011335.html
Copyright © 2011-2022 走看看