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);
    
  • 相关阅读:
    一次失败的架构评审会议
    在搜索引擎面前经验是如此苍白
    中层难当
    js调试的小工具
    用js小类库获取浏览器的高度和宽度信息
    js过滤HTML标签以及&nbsp;
    语句
    .NET中回调事件的简单分析
    javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
    JavaScript中的16进制字符(改进)
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/1990802.html
Copyright © 2011-2022 走看看