弹出对话框(模态和非模态)

来源:互联网 发布:有限元软件 编辑:程序博客网 时间:2024/04/30 11:31

    Windows应用程序有两种对话框:模态对话框(Modal Dialog)和非模态对话框(Modeless Dialog)。构造两种对话框的大多数工作都相同,只是两者的显示和数据处理方法有些不同。

    模态对话框工作时,会导致其父窗口无效,直到对话框工作结束。

    非模态对话框再打开期间,允许用户切换到应用程序的其他部分,不一定要关闭对话框。


创建和显示模态对话框:

CxxxDlg dlg; // 实例化对话框类dlg.DoModal();  // 创建和显示模态对话框


创建和显示非模态对话框:

CxxxDlg *pDlg = new CxxxDlg();  // 动态构造对话框对象pDlg->Create(IDD_XXX_DLG, this);  // 创建非模态对话框pDlg->ShowWindow(SW_SHOW);  // 显示非模态对话框

Create()成员函数的原型如下:

virtual BOOL Create(    UINT nIDTemplate,    CWnd* pParentWnd = NULL);


0 0