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);
    
  • 相关阅读:
    windows下读取utf-8文件
    mongodb c api编译
    JS学习笔记
    【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
    C#字符串截取
    C#通过WatiN操作页面中内嵌的Iframe
    C#查找以某个字母开头另一字母结尾的字符串
    HTML5+CSS3学习小记
    C#求任意范围内的质数
    C#中的委托
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1990802.html
Copyright © 2011-2022 走看看