打开本章第1节建立的“Test”工程,本节继续演示非模式对话框的调用过程。1)通过菜单命令或者按快捷键<Ctrl+1>再插入一个对话框,用于测试非模式对话框,如图4-9所示。7)非模式对话框的特点如下。①在关闭模式对话框前,不阻挡对背景窗口的操作。②使用CDialog::Create函数创建非模式对话框,该函数是非阻塞函数。......
2025-09-30
大部分网络软件,甚至单机版软件都具有登录功能,当账号和密码匹配时才能进入程序主窗口。如果账号和密码一直不能匹配则一直无法进入,最后只能选择退出软件。
使用MFC应用程序向导,创建一个工程名为“QQ”的对话框程序。
1)在资源视图中的Dialog上单击鼠标右键,在弹出的快捷菜单中,选择“Insert Dialog”命令,添加一个新的对话框资源作为登录对话框,如图5-1所示。
2)修改对话框的ID为IDD_LOGIN_DLG,标题为“登录”,并修改字体和外观,如图5-2所示。
图5-1 插入新对话框资源
图5-2 编辑登录对话框
3)添加一些控件并修改控件的属性,见表5-1。
表5-1 “登录”对话框的控件属性
4)在“登录”对话框上单击鼠标右键,在弹出的快捷菜单中,选择“ClassWizard”命令,或按快捷键<Ctrl+W>,如图5-3所示。
5)通过类向导为IDD_LOGIN_DLG建立一个对话框类“CLoginDlg”,如图5-4所示。
图5-3 打开类向导
(https://www.chuimin.cn)
图5-4 创建登录对话框的关联类
6)在登录对话框资源中双击“登录”按钮,建立消息映射函数OnOK并编写代码。
7)修改App类中的进程启动函数InitInstance的代码。
8)在主对话框资源内添加一个按钮,ID为IDC_LOGIN,标题为“重新登录”,如图5-5所示。
图5-5 编辑主对话框
9)双击“重新登录”按钮建立消息映射函数,并编写代码。
10)编译并运行,测试代码,如图5-6所示。
图5-6 查看运行结果
在CLoginDlg::OnOK函数中,只有输入正确的用户名和密码才能执行基类函数CDialog::OnOK,结束阻塞函数ldlg.DoModal并返回IDOK;如果单击“退出”按钮执行的是基类函数CDialog::OnCancel,则结束阻塞函数ldlg.DoModal并返回IDCANCEL。在InitInstance函数中根据返回值判断,如果是IDCANCEL则程序不进入主对话框而直接退出进程。
相关文章
打开本章第1节建立的“Test”工程,本节继续演示非模式对话框的调用过程。1)通过菜单命令或者按快捷键<Ctrl+1>再插入一个对话框,用于测试非模式对话框,如图4-9所示。7)非模式对话框的特点如下。①在关闭模式对话框前,不阻挡对背景窗口的操作。②使用CDialog::Create函数创建非模式对话框,该函数是非阻塞函数。......
2025-09-30
通过MSDN的说明可以查看到,WM_CREATE和WM_INITDIALOG都是窗口刚创建时的回调消息,当窗口还未显示出来之前,对窗口作预先处理的回调函数。WM_CREATE是所有窗口通用的创建时回调消息,用于包括对话框、MDI或者SDI等任何窗口的初始化,对应的消息映射函数是OnCreate。WM_INITDIALOG对话框是对话框专用消息,最常用来初始化对话框及其内部控件,对应的消息映射函数是OnInitDialog。打开第1节建立的“Test”工程,本节继续演示对话框启动过程的回调函数。......
2025-09-30
对话框资源编辑既包括对话框自身的属性设置,还包括对话框内的每个控件的属性设置。对话框和内部的每个控件都有自己的资源ID,ID是一些不重复的数字标志,就如同学号或者身份证号是不重复的数字一样。#define IDD_FIRSTMFC_DIALOG 102#define IDR_MAINFRAME 128#define IDC_NUMB 1000#define IDC_NAME 1001#define IDC_SALA 1002#define IDC_LIST 1003#define IDC_ADD 1004#define IDC_DEL 1005#define IDC_MOD 10061)对话框资源自身的属性包括5个分页,如图2-34所示。Control:对话框启动后去掉标题栏。Accept files:允许从外部拖放一些文件放入对话框内,并在拖放后产生WM_DROPFILES消息。......
2025-09-30
同时在对话框下方自动显示关于该项的使用说明。例如,欲将绘图窗口的背景由默认的黑色改变为白色,操作步骤是:单击按钮,弹出对话框,如图6-3所示。图6-3对话框在下拉框中选择“白色”。通过该选项卡还可以设置OLE对象的打印质量、设置打印戳记等。在区,默认选中“先选择后执行”模式。图6-5选项卡通过拖动滑块,可以改变拾取框的大小及夹点的大小。......
2025-09-29
图8-31 “形位公差”对话框图8-32 “特征符号”选项板·公差1/公差2:用于输入具体的公差值。③“形位公差”对话框内文字高度、字形与当前标注样式一致。位置公差的引线和基准代号用相应的绘图命令绘制。......
2025-09-30
和工具栏能使用户方便地更改对象的图层、颜色、线型及线宽等基本特性。调用对话框可采用以下三种方式:●工具栏 。图3-54用对话框修改对象的半径要把所有半径小于10的圆的半径修改为2,操作过程如下:图3-54用对话框修改对象的半径要把所有半径小于10的圆的半径修改为2,操作过程如下:1)单击工具栏上的 按钮,调出对话框。1)单击工具栏上的 按钮,调出对话框。......
2025-09-29
图13.6.2alert警告对话框在登录界面,如果未输入账号或密码,点击登录会弹出对话框提醒输入密码。图13.6.3confirm确认对话框3.prompt信息对话框prompt对话框在confirm对话框的基础上增加了一个输入框,除选择true和false之外,允许用户输入其他信息。......
2025-09-30
图2-12窗口标题栏:显示应用程序及编辑文档名称。最大化的窗口无法进行移动。图2-13对话框⑤ 文本框:用于接收用户输入的内容。注意对话框与窗口外形类似,但没有控制菜单按钮、窗口按钮。......
2025-09-30
相关推荐