字体
第(3/5)页
关灯
   存书签 书架管理 返回目录
View::CSample4_1View()

    {

    // TODO: add construction code here

    m_pModallessDlg = NULL; //初始化指针

    }

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·76·

    3.创建和显示对话框

    实例Sample4_1 中的非模态对话框通过选择菜单项打开,下面讲解如何实现此功能。

    (1)首先创建打开非模态对话框的菜单项。

    单击IDE 左侧工作区的“ResourceView”标签,展开Menu 节点,双击IDR_SAMPLETYPE,

    打开IDR_SAMPLETYPE 菜单资源编辑界面。在IDE 右侧客户区展开顶层“查看”菜单,双

    击虚线框,打开添加一个新的菜单项的对话框。在“ID”输入框中输入ID_MODALLESS,

    在“Caption”输入框中输入“打开非模态对话框”,回车确认修改。

    (2)为新建的菜单项添加消息处理函数。

    在IDE 主菜单栏中依次选择菜单“View|ClassWizard”或者在开发环境的界面中直接使

    用快捷键Ctrl+W,打开“ClassWizard”对话框。单击“Message Maps”选项卡,在“Class ncom”

    下拉列表框中选择“CSample4_1View”,在“Object IDs”列表框中选择ID_MODALLESS,

    在“Messages”列表框中选择COMMAND,单击“Add Function”按钮,在弹出的对话框中

    单击“OK”按钮,就创建了名为OnModalless 的菜单项消息处理函数。

    ( 3 ) 单击“ Edit Function ” 按钮, 关闭“ ClassWizard ” 对话框, IDE 定位到

    CSample4_1View::OnModalless()函数,编辑CSample4_1View::OnModalless()函数,代码如下:

    void CSample4_1View::OnModalless()

    {

    // TODO: Add your command handler code here

    //若指针为NULL,则对话框未被创建,需要动态创建

    if (m_pModallessDlg==NULL)

    {

    //创建非模态对话对话框

    m_pModallessDlg=new CDialogModalless();

    m_pModallessDlg->Create(IDD_MODALLESS);

    }

    //显示非模态对话框

    m_pModallessDlg->ShowWindow(TRUE);

    }

    4.退出和销毁对话框

    当程序退出时需要销毁非模态对话框,在视图类CSample4_1View 的析构函数中删除动

    态创建的非模态对话框对象即可完成非模态对话框的销毁。

    在IDE 左侧工作区单击“ClassView”选项卡,展开CSample4_1V
上一页 目录 下一页