3.3 创建对话框及添加控件
更新时间:2023-07-26 20:42:01 阅读量: 实用文档 文档下载
- 3.3下半卡池时间推荐度:
- 相关推荐
VC对话框与控件程序设计大全
3.3 创建对话框及添加控件
我们在模态对话框和非模态对话框的两节中,已经知道了创建对话框和添加控件的的方法,这里我们再做进一步的介绍。
创建对话框
建一个单文档应用程序,名为:创建对话框。
插入一个对话框,其步骤是:Insert Resource 选中Dialog new,便在此程序中创建了一个对话框(当然重复此步骤,可以创建多个对话框)。从中可以看出:
(1)系统为这个对话框自动赋于一个默认的标识符,名为:IDD_DIALOG1,对话框的默认标题为Dialog,有“OK”和“Cancel”两个按钮,这两个按钮的ID标识符分别为IDOK和IDCANCEL
(2)对话框模板资源所在的窗口称为“对话框资源编辑器”,在这里可以通过“控 件工具栏”和“布局工具栏”向对话框添加和布局控件,并可设置对话框的属性。 添加和布局控件
将控件工具栏(图3.3.1)上的某几个控件拖到对话框上,这里拖3个静态文本
控件和一个按钮控件,如图3.3.3所示。用控件布局工具栏(图3.3.2所示)可以对这些控件进行布局、排序、大小调整、上下、左右对齐、测试等。
控件的选择 静态图片
静态文本 编辑框
组框 按钮
复选框 单选按钮
组合框 列表框
水平滚动条 垂直滚动条
旋转按钮 进展条
滑动条 热键
列表视图 树形视图
标签 动画
复合编辑 日期选择
月历 IP地址
用户定制工具 扩展组合框
图3.3.1各个按钮所对应的控件类型
VC对话框与控件程序设计大全
靠齐右边 左右居中 高度相同
测试对话框 靠齐下边 上下间隔相等 显示网格
靠齐左边 上下居中 宽度相同 显示标尺
靠齐上边 左右间隔相同 大小相同 图 3.3.2 控件布局工具栏
图3.3.3 添加对话框资源后的开发环境界面
说 明:
(1)添加控件的方法:
1)左键单击控件栏中某控件不放,移动到对话框的某位置,放开鼠标,控件就
出现在对话框中。
2)左键单击控件栏中某控件之后松开,移动鼠标到对话框上某位置(鼠标箭头
变成“+”字形状),单击左键,控件就出现在这个位置上。
(2)控件的选取:控件的删除、复制和布局操作一般都要先选取控件。
1)单击某个控件,则某个控件被选取。
2)先在对话框内按住鼠标左键不放,移动鼠标,拖出一个大的方虚框,然后释
放鼠标,则被该虚框
所包围的控件都将被选取。
3)先按住Shift键不放,然后用鼠标选取控件,直到所需要的多个控件被选取之
VC对话框与控件程序设计大全
后,再放开Shift键,则这些控件被选取。
4)控件被选取时,鼠标点击对话框,则取消控件的选取。若多个控件被选取,再选取其中一个,则其中一个保留选取,其他控件被取消选取。
5)一旦单个控件被选取后,其四周由选择框包围着,选择框上还有几个(一般是8个)蓝色实心小方块,拖动它可改变控件的大小;多个控件被选取后,其中只有一个控件的选择框有几个蓝色实心小方块,这个控件称为主要控件,如图
1.3.3的Button1(按钮控件)。而其他控件选择框的小方块是空心的,如图1.3.3的Static(3个静态控件)。多个控件的上下、左右对齐、间隔相等及大小一致等,都以主控件为准。
(3)控件的移动、复制和删除
1)当单个控件或多个控件被选取后,按方向键或用鼠标拖动控件的选择框可移动控件。
2)若在鼠标拖动过程中还按住Ctrl键,则复制控件。
3)若按Del键可将选取的控件删除。
(4)测试对话框
“编排”菜单下的Test 命令或布局工具栏上的测试按钮,是用于模拟所编辑的对话框的运行情况,帮助用户检验对话框是否符合用户的设计要求以及空间功能是否有效等。
与布局工具栏相对应的菜单命令在Layout(编排)菜单下,而且大部分命令
均有相应的快捷键,如图3.3.4所示。表3.2还列出了“编排”菜单命令的快捷键与功能描述。“编排”菜单不是在Visual C++6.0开发环境一开始就出现的,而是随着对话框编辑器的打开而显示的。
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框中找到
VC对话框与控件程序设计大全
WM_INITDIALOG选中 单击AddFunction Edit Code,便在CMyDlg.cpp文件中建立了BOOL CMyDlg::OnInitDialog()函数,在此函数中加代码:
BOOL CMyDlg::OnInitDialog()
{ CDialog::OnInitDialog();
CStatic *pWnd=(CStatic*)GetDlgItem(IDC_BUTTON1);//得到IDC_BUTTON1控件句柄
pWnd->SetWindowText("直接在按钮上显示文字! ");//将这些字符显示在Button1控件上
}
编译运行
如图3.3.9所示,在按钮控件(Button1)上看到“直接在按钮上显示文字”字
样,而且再单击按钮控件,又显示出一个小对话框,上面写着“欢迎进入对话框的设计!”。如果我们象“模态对话框”和“非模态对话框”那样,用编辑器直接在控件的属性标题处写:“直接在按钮上显示文字”,就简单多了。而像我们这种用程序语句将文字写控件上,比上面做法要复杂得多,因此一般不用这种方法。
说 明:
1.CStatic:是MFC的静态文本控件类。
2.GetDlgItem:是CWnd的成员函数,通过该函数可以得到对话框中某ID号对应的控件的句柄。参数是控件的ID标识符,这里的ID标识符是BUTTON1(该对话框上的按钮标识符)。
3.SetWindowText:是CWnd的一个成员函数,
用于设置窗口(控件)的文本内容。由于控
件类是CWnd的子类(派生类),因此可以使
用基类的 SetWindowText来改变按钮控件的
显示内容。 图3.3.9 在按钮上直接显示信息 对话框资源类型
打开前面的“创建对话框”应用程序,选择顶层菜单的Insert(插入)
Resource或按Ctrl+R,出现“Insert Resource”对话框 选中Dialog项 单
击其左边的“+”号,展开对话框资源的不同类型,如图3.3.10所示,表3.4
VC对话框与控件程序设计大全
列出了各种类型对话框资源的不同用途。其中,“New(新建)”按钮用于创 建一个由“资源类型”列表中指定类型图的新资源,“Import(导入)”按钮是用于将外部已有的位图、图标、光标或其他定制的资源添加到当前应用程序中,“Custom(定制)”按钮用于创建“资源类型”列表中没有的新的类型资源。
3.3.10 对话框资源类型
正在阅读:
3.3 创建对话框及添加控件07-26
爱情里没有谁对谁错的相关文章推荐02-14
土地增值税练习题05-07
ADL常用评定量表03-27
最新部队爱岗敬业优秀演讲稿5篇.doc04-29
解密神奇的木牛流马 - - 机器人教学探06-15
部队立功02-15
传热学课后标记题目答案1-903-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 控件
- 对话框
- 创建
- 添加
- 3.3
- 人教版语文五年级上册第六单元测试卷(含答案)
- 河南省建设厅工程量清单评标办法
- 黄连中小檗碱的提取和鉴定(设计性实验)
- 初中语文阅读教学方法的多样性实践
- 电工电子教案 稳压电路
- 纯CSS打造漂亮的按钮样式(好多个效果)
- 钢筋混凝土楼板层构造
- 西门子程控交换机配置资料
- 高中历史战争部分时间表
- 2016年北京电影学院电影摄影与制作考研真题集笔记 历年真题 考研试题 剧本写作
- 第13章国家预算和预算管理体制(财政学-河北工业大学,魏学辉)
- 细胞的多样性和统一性——教学设计
- 全面质量管理考试试题库(完整)(1)
- 大华硬盘录像机使用说明
- 《从中国医疗现状浅谈国有经济的发展》
- 质量三维目标要素集成定量模型分析
- 2013-2014学年第二学期高三历史教学计划
- 如何提高我校教师信息技术的应用能力
- 中国传统文化教案 黄金菊
- 物管案例探讨:高空抛物屡禁难止 制度约束仍需加码标准范本