存周期需要存在于父窗口类对象的整个生存周期。
因此需要在父窗口类添加指向非模态对话框类对象的指针成员变量。
本节介绍如何为实例Sample4_1 添加一个非模态对话框。
实例4-3:创建非模态对话框实例。源代码在光盘中“\04\实例4-3\Sample4_1”目录下。
枫叶文学网www.fywxw.com
第4 章 对话框
·75·
1.创建对话框类
在创建对话框资源和对话框类时,没有模态和非模态的区别。因此创建非模态对话框类
与创建模态对话框的方法相同,具体步骤如下:
(1)在资源编辑器中为Sample4_1 创建一个新的对话框资源,将标志号ID 设置为
IDD_MODALLESS,并添加控件。
(2)用ClassWizard 创建与其相关联的对话框类,类名为CDialogModalless,头文件和源
文件分别为DialogModalless.h 和DialogModalless.cpp。
(3)在ClassWizard 中为CDialogModalless 添加控件成员变量和消息处理函数。完成对
话框类的创建。
2.创建对话框类的实例并初始化
在实例Sample4_1 中,通过选择菜单项打开IDD_MODALLESS 非模态对话框,因此需
要在视图类CSample4_1View 中添加一个CDialogModalless 类的指针成员变量,步骤如下:
(1)单击选中ClassView 选项卡,在CSample4_1View 节点上单击鼠标右键,选择Add
Member Variable 菜单项。
(2)在弹出的对话框中向“Variable Type”输入框输入“CDialogModalless *”,在“Variable
Declaration”输入框中输入m_pModallessDlg,单击“OK”按钮。
(3)展开ClassView 选项卡中CSample4_View 节点,可以看见其中包含m_pModallessDlg
项,说明添加成员变量成功。
(4)双击ClassView 选项卡中的CSample4_1View 节点,打开CSample4_1View.h 文件,
在其头部添加包含语句,代码如下:
??
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "DialogModalless.h"
class CSample4_1View : public CView
{
??
(5)在IDE 左侧ClassView 选项卡中展开CSample4_1View,双击其中的CSample4_1View
(),打开CSample4_1View.cpp 文件,并定位到构造函数CSample4_1View:: CSample4_1View(),
在构造函数中添加变量m_pModallessDlg 的初始化代码,具体如下:
CSample4_1