打开本章第1节建立的“Test”工程,本节继续演示非模式对话框的调用过程。1)通过菜单命令或者按快捷键<Ctrl+1>再插入一个对话框,用于测试非模式对话框,如图4-9所示。7)非模式对话框的特点如下。①在关闭模式对话框前,不阻挡对背景窗口的操作。②使用CDialog::Create函数创建非模式对话框,该函数是非阻塞函数。......
2023-11-25
对话框栏(CDialogBar类)是类似于工具栏的非模式对话框,不但可以在资源视图中编辑内部控件,而且启动后可以停靠在框架类周边方便使用。打开本章第5节的“sp”分隔栏工程,用于演示对话框栏的编辑和调用方法。
1)在资源视图中通过菜单命令,或者按快捷键<Ctrl+R>打开插入资源对话框,如图14-35所示。选中树形控件中的“IDD_DIALOGBAR”节点,再单击“New”按钮添加对话框栏资源。
2)修改刚插入的对话框栏属性,如图14-36所示。
图14-35 插入资源
图14-36 修改对话框属性
3)修改对话框默认的语言为“ChineseP(.R.C)”,如图14-37所示。
图14-37 修改对话框语言
4)修改对话框属性,如图14-38所示。
图14-38 修改对话框属性
5)修改对话框栏字体为“宋体”“10”,如图14-39所示。
图14-39 修改对话框字体
6)在对话框栏中添加一些控件,如图14-40所示。
图14-40 编辑对话框栏资源
7)修改控件属性,见表14-7。
表14-7 主对话框的控件属性
8)通过类向导为对话框栏创建一个CDialog派生类,如图14-41所示。
图14-41 创建对话框栏的关联类
9)在刚建立的CAddrBar头文件中,把“CDialog”改为“CDialogBar”,如图14-42所示。
图14-42 在头文件中替换基类(www.chuimin.cn)
10)在刚建立的CAddrBar源文件中,把“CDialog”改为“CDialogBar”,如图14-43所示。
图14-43 在源文件中替换基类
11)修改CMainFrame类的头文件,添加一个CAddrBar类型成员变量。
12)修改主框架类的OnCreate函 数,在函数末尾添加以下代码。
13)编译并运行,测试程序,如图14-44所示。
图14-44 查看运行结果
14)在CAddrBar类中,添加WM_SIZE消息映射函数并修改代码。
15)编译并运行,测试程序。
改变主框架窗口的大小,对话框栏内控件的位置自动调整。
16)在主菜单内添加一个菜单项,用于显示和隐藏地址栏,如图14-45所示。
图14-45 编辑主菜单资源
17)通过类向导,在CMainFrame类中添加菜单项的命令和更新消息映射函数,如图14-46所示。
图14-46 添加菜单项的消息映射函数
18)修改菜单项消息映射函数的代码。
19)编译并运行,测试程序。单击菜单项显示和隐藏地址栏,如图14-47所示。
图14-47 查看运行结果
有关VC++就业培训宝典之MFC视频教程的文章
打开本章第1节建立的“Test”工程,本节继续演示非模式对话框的调用过程。1)通过菜单命令或者按快捷键<Ctrl+1>再插入一个对话框,用于测试非模式对话框,如图4-9所示。7)非模式对话框的特点如下。①在关闭模式对话框前,不阻挡对背景窗口的操作。②使用CDialog::Create函数创建非模式对话框,该函数是非阻塞函数。......
2023-11-25
IE工具栏不但按钮可以包含图标和文字,而且还有一些按钮包含下拉菜单,例如,“后退” 和“前进”按钮。打开第12章建立的“sp”分隔栏工程,用于演示IE工具栏的开发方法。1)修改IDR_MAINFRAME工具栏,删除原有工具按钮并新增一些按钮,如图14-23所示。图14-25 查看运行结果工具栏按钮图标的颜色丢失严重很难看,因此,要先加载位图到CBitmap对象中后,再将位图设置到工具栏中。15)编译并运行,测试代码,这就是IE工具栏,如图14-31所示。......
2023-11-25
图5-1 插入新对话框资源图5-2 编辑登录对话框3)添加一些控件并修改控件的属性,见表5-1。表5-1 “登录”对话框的控件属性4)在“登录”对话框上单击鼠标右键,在弹出的快捷菜单中,选择“ClassWizard”命令,或按快捷键<Ctrl+W>,如图5-3所示。图5-3 打开类向导图5-4 创建登录对话框的关联类6)在登录对话框资源中双击“登录”按钮,建立消息映射函数OnOK并编写代码。......
2023-11-25
工具栏带有一行位图按钮和可选分隔线的控件栏,工具栏按钮ID与菜单项一样可以创建命令消息映射函数。另外一种创建和加载工具栏的过程如下。工具栏既可以停靠在父窗口周边,也可以悬浮在屏幕中,例如,绘图软件中的工具箱就是悬浮工具栏。打开本章第3节的“md”绘图软件工程,用于演示悬浮工具栏的开发方法。图14-19 查看运行结果工具栏按钮不仅能带有图标,而且还可以包含文字,例如,IE工具栏。......
2023-11-25
对话框主要分为两个类型,即模式对话框和非模式对话框。当模式对话框弹出后,无法操作它的父窗口或者上一级窗口,直到关闭该对话框为止。图4-3 插入对话框资源用于测试模式对话框图4-4 修改对话框的外观和属性5)选中编辑好的对话框资源,执行View→ClassWizard命令,或按快捷键<Ctrl+W>打开类向导。图4-8 查看运行结果单击“关于”按钮弹出关于对话框,在关闭关于对话框前,主对话框是不可以操作的,这就是模式对话框的特点。......
2023-11-25
打开本章第1节建立的“QQ”工程,本节继续演示账号及权限管理与登录对话框的组合。表5-2 “权限管理”对话框的控件属性4)通过类向导为IDD_PRIOR_DLG建立一个对话框类“CPriorDlg”,如图5-8所示。12)在权限管理对话框中,分别双击增、删、改的3个按钮,建立消息映射函数。登录成功后进入主对话框单击“权限管理”按钮,进入“权限管理”对话框添加一些账户信息,然后使用新添加的账户重新登录,如图5-16所示。......
2023-11-25
当用户单击对话框标题栏上的关闭按钮后,可能顺次发生的回调包括WM_SYSCOMMAND消息、WM_CLOSE消息、CDialog::OnCancel虚函数和WM_DESTROY消息等。打开第1节建立的“Test”工程,本节继续演示对话框关闭过程的回调函数。当单击系统关闭菜单或按钮,或者按<Alt+F4>组合键都不能关闭对话框,对话框不是真正地关闭而只是最小化了。所有以上其他回调函数都发生在对话框消失之前,并且可以取消继续关闭对话框窗口。图4-26 关闭对话框消息的流程......
2023-11-25
对话框资源编辑既包括对话框自身的属性设置,还包括对话框内的每个控件的属性设置。对话框和内部的每个控件都有自己的资源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消息。......
2023-11-25
相关推荐