3.3 创建对话框及添加控件(2)
发布时间:2021-06-05
发布时间:2021-06-05
VC对话框与控件程序设计大全
表3.2 “编排”菜单命令的快捷键及功能描述
菜单命令 快捷键 功能描述
Align --- 对齐控件
Space Evenly --- 空间分布
Make Same Size --- 使多个控件具有相同尺寸
Arrange Button --- 按钮布置
Center in Dialog --- 在对话框内居中
Size to Content Shift+F7 按内容定义尺寸
Auto Size --- 自动大小
Flip --- 翻转
Tab Order Ctrl+D 设置Tab键次序
图3.3.4 编排菜单命令项 Guide Setings --- 网格、标尺等辅助工具的设置 Test Ctrl +T 测试对话框性能
设置对话框的属性
打开前面创建的“创建对话框”应用程序:
(1)点击顶层菜单的View Properties(2)按Alt+Enter(3)用鼠标右键单击对
话框模板 Properties,这3种方式都能弹出对话框的属性框,见图3.3.5所示。
图3.3.5 对话框属性界面
属性框中有:General(一般属性)、Styles((风格)、More Styles(更多风
格)、Extended Styles(扩展风格)、More Extended Styles(更多扩展风格)等部分。下面介绍常用的General属性,如表3.3所示。将新加的对话框的属性
(General)进行如下修改:
(1)改对话框ID标识符为:IDD_MYDIALOG
(2)改对话框标题(Caption)为:我的对话框
(3)单击Font (字体)按钮,将字体改为“宋体,9”,以使自己的对话框和
Windows中的对话框保持外观上的一致。
VC对话框与控件程序设计大全
为对话框添加类
对准对话框的任意非控件位置双击
鼠标,将弹出图3.3.6所示的对话框,询
问是否为对话框资源创建一个新类,选
中Crealte a new class 单击OK 弹出图
3.3.7所示的对话框 写入一个新类的名
字如:CMyDlg(注意:类名应以大写的
“C”开头),下面的基类Base class和ID
标识符内容一般不改。 图 3.3.6 “Adding a Class”对话框图 添加映射消息
View ClassWizard 出现
“MFC ClassWizard”对话框 在
Class name处选择CMyDlg 在
Object IDs里选定IDC_BUTTON1
选中BN_CLICKED(单击该按钮)消
息 Add Function OK Edit Code
图3.3.7 “New Class”对话框
VC对话框与控件程序设计大全
添加代码
在MyDlg.cpp文件的OnButton1()
(按钮消息映射)函数中写:
void CMyDlg::OnButton1()
{ MessageBox(“欢迎进入对话框的设计!”);
}
这时运行还不见对话框被弹出:还需进行下一步。
在程序中调用对话框
由于对话框的代码是以类为模块来设计的,使用时需要在程序中加入该类的
头文件,并定义一个类对象,然后就可以使用该类的相关成员。
打开项目工作区 FileView 打开应用程序的执行文件“创建对话框.cpp”,
在其前面加:#include “MyDlg.h”
在InitInstance函数体中的return TRUE语句之前添加下列代码:
BOOL CMyApp::InitInstance()
{ ….. ……
CMyDlg dlg; // 定义对话框类对象
// DoModal()函数是负责对话框的显示和终止
dlg.DoModal();
return
}
编译运行
对话框被弹出,单击按钮控件“Button1”
则出现小对话框, 上面有“欢迎进入
对话框的设计”的字样,如图3.3.8所示。 图3.3.8 弹出对话框并单击按钮 注意:本例建的CMyDlg类及以后在各个项目中建立的类,在文档、视图、主框架类中都可同样使用。
在按钮控件上直接显示信息
(注意:将上面添加的按钮(Button1)控件拉得长一些,以能显示出写入的全
部信息)用ClassWizard在CMyDlg类中,加WM_INITDIALOG映射消息,步骤是:
View ClassWizard 在Class name框中置CMyDlg 在Messages框中找到