zoukankan      html  css  js  c++  java
  • Win32 对话框(1)

    4.1 如何创建模式对话框

    DoModal方法

    void CMainFrame::OnShowDlg()
    {
        //创建对话框对象
        CDemoDlg* pDlg = new CDemoDlg();
    
        //显示对话框窗口
        pDlg->DoModal();
    
        //删除对话框对象
        delete pDlg;
    }
    

    4.2 如何创建非模式对话框

    1. Create
    2. ShowWindow
    void CMainFrame::OnShowDlg() 
    {
        //创建对话框对象
        CDemoDlg* pDlg = new CDemoDlg();
    
        //创建对话框窗口
        pDlg->Create(IDD_DEMO, this);
    
        //显示对话框窗口
        pDlg->ShowWindow(SW_SHOW);
    
        //居中显示
        pDlg->CenterWindow();
    }
    

    4.3 如何关闭模式对话框

    1. EndDialog
    void CDemoDlg::OnCloseDlg() 
    {
        AfxMessageBox(_T("关闭模式对话框。"));
    
        //关闭对话框
        EndDialog(IDOK);
    }
    

    4.4 如何关闭非模式对话框

    DestroyWindow,跟其他窗体一样

    void CDemoDlg::PostNcDestroy() 
    {
        //删除对话框对象
        delete this;        
    }
    
    void CDemoDlg::OnCloseDlg() 
    {
        AfxMessageBox(_T("关闭非模式对话框。"));
    
        //销毁对话框窗口
        DestroyWindow();
    }
    

    4.5 如何在模式对话框中使用OK和Cancel按钮

    IDOK和IDCANCEL为内置的按钮标识

    void CDemoDlg::OnOK() 
    {
        //获得并检验对话框数据
        if (!UpdateData(TRUE))
        {
            return;
        }
    
        if (m_nEdit <= 1)
        {
            AfxMessageBox(_T("请输入一个大于1的数。"));
            return;
        }
        
        AfxMessageBox(_T("IDOK"));
    
        //关闭对话框
        EndDialog(IDOK);
    }
    
    void CDemoDlg::OnCancel() 
    {
        AfxMessageBox(_T("IDCANCEL"));
    
        //关闭对话框
        EndDialog(IDCANCEL);    
    }
    

    4.6 如何在非模式对话框中使用OK和Cancel按钮

    同上,关闭方法不同

    void CDemoDlg::OnOK() 
    {
        //获得并检验对话框数据
        if (!UpdateData(TRUE))
        {
            return;
        }
    
        if (m_nEdit <= 1)
        {
            AfxMessageBox(_T("请输入一个大于1的数。"));
            return;
        }
    
        AfxMessageBox(_T("IDOK"));
    
        //销毁对话框窗口
        DestroyWindow();
    }
    
    void CDemoDlg::OnCancel() 
    {
        AfxMessageBox(_T("IDCANCEL"));
    
        //销毁对话框窗口
        DestroyWindow();
    }
    

    4.7 如何在对话框中添加最大化和最小化按钮

    用ModifyStyle修改样式

    //添加WS_MAXIMIZEBOX和WS_MINIMIZEBOX风格
    ModifyStyle(0, WS_MAXIMIZEBOX|WS_MINIMIZEBOX);
    
  • 相关阅读:
    在MAC OS X系统上面安装mysql
    在项目中使用DSOFramer需要注意的一些地方
    记一次python安装PIL库所遇到的事
    Calendar.compareTo 比较时间的大小
    String 时间类型怎么进行比较大小?
    ElasticSearch--二、基本语法(创建索引,查询数据)
    ElasticSearch--一、使用场景以及对应软件配置安装
    Linux下nginx反向代理负载均衡几种方式以及配置
    node环境使用lowdb轻量数据库以及基本用法
    jQuery 日常笔记
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1990802.html
Copyright © 2011-2022 走看看