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

    //提示用户

    MessageBox("用户验证失败", "登录提示",MB_OK);

    //退出主程序

    AfxGetMainWnd()->PostMessage(WM_QUIT);

    //返回登录失败

    //EndDialog 退出对话框,参数表示对话框的返回值,本例

    //用"取消"按钮的ID 作为验证失败返回值

    EndDialog(IDCANCEL);

    }

    //默认的消息处理函数,用于退出对话框,返回值为IDOK

    CDialog::OnOK();

    }

    技巧:一般要退出程序,只需要销毁该程序的主窗口,即向该程序的主窗口发送WM_QUIT 消息,

    代码为AfxGetMainWnd()->PostMessage(WM_QUIT);。

    (4)按前面所述方法,打开“ClassWizard”对话框,为CLoginDialog 的IDCANCEL 按

    钮控件的BN_CLICKED 消息添加消息处理函数OnCancel()。在程序中单击“取消”按钮与

    验证失败的处理方法相同,因此修改CLoginDialog::OnCancel()函数,代码如下:

    void CLoginDialog::OnCancel()

    {

    // TODO: Add extra cleanup here

    //验证不通过

    //提示用户

    枫叶文学网www.fywxw.com

    第4 章 对话框

    ·73·

    MessageBox("用户验证失败", "登录提示",MB_OK);

    //退出主程序

    AfxGetMainWnd()->PostMessage(WM_QUIT);

    //默认的消息处理函数,用于退出对话框,返回值为IDCANCEL,

    //同本例的OnOK 验证失败的返回值

    CDialog::OnCancel();

    }

    添加控件通知消息处理函数后,对话框类的创建任务基本完成,对话框类能基本实现对

    话框所需的功能。

    4.2 模态对话框

    Windows 系统中对话框大致可以分为以下两种:

    ? 模态对话框。这类对话框弹出后,其他程序会被挂起,只有当前对话框响应用户的输

    入。模态对话框一般要求用户做出某种选择。

    ? 非模态对话框。打开非模态对话框后,程序的其他窗口仍能响应消息,程序仍可以继

    续运行。非模态对话框一般用来显示信息,或者实时地进行一些设置。

    实例4-2:创建模态对话框实例。源代码在光盘中“\04\实例4-2\Sample4_1”目录下。

    本节还以实例Sample4_1 为例,具体讲解模态对话框的创建步骤。

    1.创建对话框类

    按照4.1 节所述的方法创建对话框类和对话框资源,Sample4_1 的对话框资源和对话框

    类在前面已经创建,这里不再详述。

    2.创建对话框类的实例并初始化

    首先创建对话框类的对象。在Sample4_1 中,为了在程序运行最开始完成登录功
上一页 目录 下一页