设为首页 加入收藏

TOP

10.3.1 创建模态对话框
2013-10-07 13:08:59 来源: 作者: 【 】 浏览:61
Tags:10.3.1 创建 模态 对话

10.3  对话框的创建与显示

前面介绍过对话框分为模态对话框和非模态对话框,区别在于打开对话框后,关闭前是否可以与其他对话框进行数据交换。根据不同情况选择不同的对话框样式,如在绘图软件中,打开的图层管理面板需要使用非模态对话框。同时,在程序中可以修改对话框的背景颜色。最后讲述了有关关闭对话框的处理。

10.3.1  创建模态对话框

要使用模态对话框,首先调用CDialog类的构造函数,然后调用DoModal()成员函数显示对话框和管理与用户的交互,直到用户选择OK按钮或Cancel按钮。前面介绍过OnInitDialog()函数中处理一些对话框初始化的工作。对于模态对话框,在DoModal()调用时发生。对于非模态对话框,在Create调用时被调用。一般的用户都会重写OnInitDialog()函数初始化对话框的控件,如设置编辑框的初始文本。以下代码显示了如何创建模态对话框。

  1. void CDialogExampleDlg::OnButtonModal()        
    // 模态对话框测试按钮处理函数  
  2. {  
  3.     CDlgTest dlg;                              
    // 定义测试对话框变量  
  4.     if (dlg.DoModal() == IDOK)                 
    // 如果用户选择OK退出  
  5.     {   // 用户单击OK命令  
  6.     }  
  7.     else                                      
    // 否则用户选择Cancel退出  
  8.     {   // 用户单击Cancel命令  
  9.     }  

上面代码首先定义了对话框变量,然后调用DoModal()函数,打开模式对话框。打开的对话框就变成了程序的最顶层对话框。程序在if语句的两个分支中分别处理当用户单击OK按钮和Cancel按钮后需要执行的操作。程序运行效果图如图10-14所示。

 
图10-14  模态对话框
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇10.3.2 创建非模态对话框 下一篇10.3.4 关闭对话框

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: