📄 chap5_1.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>5.1对话框和控件的基本概念</title>
</head>
<body link="#3973DE" alink="#3973DE" background="../../bg.gif">
<font SIZE="5"><b><div align="center"><center>
<table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
</b><td><div align="center"><center><table border="0" width="615" cellpadding="0"
cellspacing="0" height="20">
<tr>
<td width="377" bgcolor="#15397D" height="20"></td>
<td width="238" bgcolor="#000000" height="20"><p align="right"></font><a
href="../../vc.htm"><span style="text-decoration: none"><font color="#FFFFFF">电脑报Visual
C++网络教程</font></span></a></td>
</tr>
</table>
</center></div><font FACE="Times New Roman" SIZE="3"><b><p ALIGN="CENTER"></b></font><font
FACE="Times New Roman" size="4" color="#3973DE">5.1</font><font size="4" color="#3973DE">对话框和控件的基本概念</font><font
FACE="Times New Roman" size="4"></p>
</font><font FACE="Times New Roman" SIZE="3"><b><p></b></font><font color="#3973DE"
FACE="Times New Roman" SIZE="3">5.1.1</font><font SIZE="3" color="#3973DE">对话框的基本概念</font><font
SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><span style="font-size: 9pt"><b> </b> 对话框(Dialog)实际上是一个窗口.在MFC中,对话框的功能被封装在了CDialog类中,CDialog类是CWnd类的派生类.</span></p>
<p><span style="font-size: 9pt"> 对话框分为模态对话框和非模态对话框两种.大部分读者都会有这样的经历,当你通过File-Open命令打开一个文件对话框后,再用鼠标去选择菜单将只会发出嘟嘟声,这是因为文件对话框是一个模态对话框.模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其它用户界面对象收不到输入信息.我们平时所遇到的大部分对话框都是模态对话框。非模态对话框的典型例子是Windows95提供的写字板程序中的搜索对话框,搜索对话框不垄断用户的输入,打开搜索对话框后,仍可与其它用户界面对象进行交互,用户可以一边搜索,一边修改文章,这样就大大方便了使用.</span></p>
<p><span style="font-size: 9pt">本节主要介绍模态对话框,在第四节将介绍非模态对话框.</span></p>
<p><span style="font-size: 9pt"> 从MFC编程的角度来看,一个对话框由两部分组成:</span></p>
<blockquote>
<blockquote>
<p><span style="font-size: 9pt">对话框模板资源.对话框模板用于指定对话框的控件及其分布,Windows根据对话框模板来创建并显示对话框.</span></p>
<p><span style="font-size: 9pt">对话框类.对话框类用来实现对话框的功能,由于对话框行使的功能各不相同,因此一般需要从CDialog类派生一个新类,以完成特定的功能.</span></p>
</blockquote>
</blockquote>
<p><span style="font-size: 9pt"> 相应地,对话框的设计包括对话框模板的设计和对话框类的设计两个主要方面.</span></p>
<p ALIGN="left"><span style="font-size: 9pt">
与对话框有关的消息主要包括WM_INITDIALOG消息和控件通知消息。在对话框创建时,会收到WM_INITDIALOG消息,对话框对该消息的处理函数是OnInitDialog
。</span><b></p>
<p ALIGN="left"></b><span style="font-size: 9pt">
OnInitDialog的主要用处是初始化对话框。对话框的控件会向对话框发送控件通知消息,以表明控件的状态发生了变化。</span><b></p>
<p></b><span style="font-size: 12pt"><font color="#3973DE">5.1.2控件的基本概念</font></span></p>
<p align="center"><span style="font-size: 9pt"><img src="T5_1.gif"
alt="T5_1.tif (317964 bytes)" WIDTH="565" HEIGHT="378"></span></p>
<p align="center"><span style="font-size: 9pt">图5.1对话框中的控件</span></p>
<p ALIGN="JUSTIFY"><span style="font-size: 9pt"> 控件(Control)是独立的小部件,在对话框与用户的交互过程中,控件担任着主要角色.控件的种类较多,图5.1显示了对话框中的一些基本的控件.MFC的控件类封装了控件的功能,表5.1介绍了一些常用的控件及其对应的控件类.</span><b></p>
<p ALIGN="CENTER"><span style="font-size: 9pt">表5.1</span></b></p>
<table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
<tr>
<td WIDTH="27%"><span style="font-size: 9pt"><b>控件</b></span></td>
<td WIDTH="55%"><span style="font-size: 9pt"><b>功能</b></span></td>
<td WIDTH="18%"><span style="font-size: 9pt"><b>对应控件类</b></span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">静态正文(Static Text)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">显示正文,一般不能接受输入信息。</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CStatic</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">图片(Picture)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">显式位图、图标、方框和图元文件,一般不能接受输入信息.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CStatic</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">编辑框(Edit Box)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">输入并编辑正文,支持单行和多行编辑.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CEdit</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">命令按钮(Pushbutton)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">响应用户的输入,触发相应的事件.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CButton</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">检查框(Check Box)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">用作选择标记,可以有选中、不选中和不确定三种状态。</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CButton</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">单选按钮(Radio Button)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">用来从两个或多个选项中选中一项.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CButton</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">组框(Group Box)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">显示正文和方框,主要用来将相关的一些控件聚成一组.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CButton</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">列表框(List Box)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">显示一个列表,用户可以从该列表中选择一项或多项.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CListBox</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">组合框(Combo Box)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">是一个编辑框和一个列表框的组合.分为简易式、下拉式和下拉列表式.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CComboBox</span></td>
</tr>
<tr>
<td WIDTH="27%"><span style="font-size: 9pt">滚动条(Scroll Bar)</span></td>
<td WIDTH="55%"><span style="font-size: 9pt">主要用来从一个预定义范围值中迅速而有效地选取一个整数值.</span></td>
<td WIDTH="18%"><span style="font-size: 9pt">CScrollBar</span></td>
</tr>
</table>
<p><span style="font-size: 9pt"> 控件实际上都是窗口,所有的控件类都是CWnd类的派生类.控件通常是作为对话框的子窗口而创建的,控件也可以出现在视窗口,工具条和状态条中.</span><b></p>
</b><div align="center"><center><table border="0" cellpadding="0" cellspacing="0"
width="615">
<tr>
<td><span style="font-size: 9pt"><a href="chap5.htm">上一页</a></span></td>
<td><p align="right"><span style="font-size: 9pt"><a href="chap5_2.htm">下一页</a></span></td>
</tr>
</table>
</center></div><font SIZE="5"><hr noshade color="#3973DE" size="1">
<p align="center"></font><font size="2" color="#000000">本教程由<a
href="http://vcdynasty.yeah.net">Visual C++王朝(Where programmers come together)</a>协助制作<br>
未经许可,请勿以任何形式复制</font></td>
<b>
</tr>
</table>
</center></div></b>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -