3.3 创建对话框及添加控件(2)

发布时间: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框中找到

精彩图片

热门精选

大家正在看