📄 chap5_7.htm
字号:
<html>
<head>
<title>小 结</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body link="#3973DE" alink="#3973DE">
<font SIZE="5"><b><div align="center"><center>
<table border="0" width="615" cellspacing="0" cellpadding="0">
<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><span style="text-decoration: none"><a href="../../index.htm"><font color="#FFFFFF">电脑报Visual
C++网络教程</font></a></span></td>
</tr>
</table>
</center></div><font SIZE="3"><b><p ALIGN="CENTER"></b></font><font color="#3973DE" size="5">小 结</font><font FACE="Times New Roman" size="5"></p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY"></font><font SIZE="3">本课的要点为:</p>
<blockquote>
<p ALIGN="JUSTIFY">对话框的设计包括对话框模板的设计和对话框类的设计。对话框模板的设计是通过模板编辑器来完成的。对话框类的设计可借助<font FACE="Times New Roman" SIZE="3">ClassWizard</font>来完成,这包括创建<font FACE="Times New Roman" SIZE="3">CDialog</font>类的派生类,为对话框类增加与控件对应的成员变量,增加控件通知消息的处理函数等。</p>
<p ALIGN="JUSTIFY">对话框的数据成员的初始化工作一般在其构造函数中完成,而对话框和控件的初始化是在<font FACE="Times New Roman" SIZE="3">OnInitDialog</font>函数中完成的。</p>
<p ALIGN="JUSTIFY">模态对话框拥有自己的消息循环,它垄断了用户的输入。模态对话框对象是以变量的形式构建的,<font FACE="Times New Roman" SIZE="3">CDialog::DoModal</font>用来启动一个模态对话框,在对话框关闭后该函数才返回。如果用户按下了<font FACE="Times New Roman" SIZE="3">IDOK</font>按钮确认设置,那么<font FACE="Times New Roman" SIZE="3">DoModal</font>返回<font FACE="Times New Roman" SIZE="3">IDOK</font>,若用户按下了<font FACE="Times New Roman" SIZE="3">IDCANCEL</font>按钮取消设置,则<font FACE="Times New Roman" SIZE="3">DoModal</font>返回<font FACE="Times New Roman" SIZE="3">IDCANCEL</font>。</p>
<p ALIGN="JUSTIFY">非模态对话框与应用程序共用消息循环,它不垄断用户的输入。非模态对话框对象应该用<font FACE="Times New Roman" SIZE="3">new</font>操作符在堆中创建,应该调用<font FACE="Times New Roman" SIZE="3">CDialog::Create</font>而不是<font FACE="Times New Roman" SIZE="3">CDialog::DoModal</font>来显示对话框,需要注意对话框的可见性问题。应该调用<font FACE="Times New Roman" SIZE="3">CWnd::DestroyWindow</font>而不是<font FACE="Times New Roman" SIZE="3">CDialog::EndDialog</font>来关闭非模态对话框,所以一般需要重新编写<font FACE="Times New Roman" SIZE="3">OnOK</font>和<font FACE="Times New Roman" SIZE="3">OnCancel</font>函数。非模态对话框对象应该是自动清除的,所以应该重写<font FACE="Times New Roman" SIZE="3">PostNcDestroy</font>函数并在该函数中用<font FACE="Times New Roman" SIZE="3">delete</font>删除对象本身。<br>
<br>
除了主框架窗口类、视图类和非模态对话框类以外,<font FACE="Times New Roman" SIZE="3">MFC</font>的窗口类一般都是非自动清除的。不必调用<font FACE="Times New Roman" SIZE="3">delete</font>来删除一个具有自动清除功能的窗口对象。</p>
<p ALIGN="JUSTIFY">标签式对话框由多个页(子对话框)组成,可以容纳大量的控件。<font FACE="Times New Roman" SIZE="3">CPropertySheet</font>类代表对话框的框架,<font FACE="Times New Roman" SIZE="3">CPropertyPage</font>类代表莫一页。标签式对话框有一个特殊的<font FACE="Times New Roman" SIZE="3">Apply</font>按钮,可以使用户在不退出对话框的情况下使设置生效。</p>
<font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">Windows</font>支持五种公用对话框,包括文件选择、颜色选择、字体选择、打印和打印设置以及正文搜索和替换对话框。正文搜索和替换对话框与其它公用对话框不同,它是一个非模态对话框。</p>
</font>
</blockquote>
<div align="center"><center><table border="0" cellpadding="0" cellspacing="0" width="615">
<tr>
<td><a href="chap5_6.htm">上一页</a></td>
<td></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>
<p ALIGN="CENTER"></b><font size="5"> </font><font FACE="Times New Roman" size="5"></p>
</font><font FACE="Times New Roman" SIZE="3">
<p></font><b><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
</font></b>
<p><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p></font> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -