⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap5_2.htm

📁 着重介绍基于C++的web编程技术
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>

<head>
<title>5.2对话框模板的设计</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 FACE="Times New Roman" SIZE="3"><b><p ALIGN="CENTER"></b></font><font FACE="Times New Roman" size="4" color="#3973DE">5.2</font><font size="4" color="#3973DE">对话框模板的设计</font><font FACE="Times New Roman" size="4"></p>
    </font><font SIZE="3"><p>  利用</font><font FACE="Times New Roman" SIZE="3">Developer 
    Studio</font><font SIZE="3">提供的可视化设计工具,用户可以方便地设计对话框模板.</p>
    <p>  请读者按前面章节介绍的方法利用</font><font FACE="Times New Roman" SIZE="3">AppWizard</font><font SIZE="3">建立一个名为</font><font FACE="Times New Roman" SIZE="3">Register</font><font SIZE="3">的</font><font FACE="Times New Roman" SIZE="3">MFC</font><font SIZE="3">应用程序,并在进入</font><font FACE="Times New Roman" SIZE="3">MFC AppWizard</font><font SIZE="3">对话框后按下面几步操作:<ol>
      <li>在第<font FACE="Times New Roman" SIZE="3">1</font>步中选中<font FACE="Times New Roman" SIZE="3">Single document</font>以建立一个单文档应用程序.</li>
      <li>在第<font FACE="Times New Roman" SIZE="3">4</font>步中使<font FACE="Times New Roman" SIZE="3">Docking toolbar</font>项不选中,这样<font FACE="Times New Roman" SIZE="3">AppWizard</font>就不会创建工具条.</li>
      <li><p ALIGN="JUSTIFY">在第<font FACE="Times New Roman" SIZE="3">6</font>步中先选择<font FACE="Times New Roman" SIZE="3">CRegisterView</font>,然后在<font FACE="Times New Roman" SIZE="3">Base class</font>栏中选择<font FACE="Times New Roman" SIZE="3">CEditView</font>,这样<font FACE="Times New Roman" SIZE="3">CRegisterView</font>将是<font FACE="Times New Roman" SIZE="3">CEditView</font>的继承类,从而使视图具有了编辑功能.</p>
      </li>
    </ol>
    <p ALIGN="JUSTIFY">  编译并运行</font><font FACE="Times New Roman" SIZE="3">Register</font><font SIZE="3">,读者会发现</font><font FACE="Times New Roman" SIZE="3">Register</font><font SIZE="3">居然是个编辑器,它可以打开、编辑和保存文本文件. 当然,</font><font FACE="Times New Roman" SIZE="3">Register</font><font SIZE="3">的目的不仅仅是个编辑器。假设要对某一地区的就业情况进行调查,我们希望</font><font FACE="Times New Roman" SIZE="3">Register</font><font SIZE="3">程序能够登录就业情况数据并将数据存储起来.</p>
    <p ALIGN="JUSTIFY">要登录数据,用对话框是再合适不过了。一个典型的就业情况登录对话框如图</font><font FACE="Times New Roman" SIZE="3">5.1</font><font SIZE="3">所示,本节的任务就是设计如图</font><font FACE="Times New Roman" SIZE="3">5.1</font><font SIZE="3">的中文对话框模板.</p>
    <p ALIGN="JUSTIFY">切换至资源视图,选择</font><font FACE="Times New Roman" SIZE="3">Insert-Resource</font><font SIZE="3">命令,并在</font><font FACE="Times New Roman" SIZE="3">Insert Resource</font><font SIZE="3">对话框中双击</font><font FACE="Times New Roman" SIZE="3">Dialog</font><font SIZE="3">项。完成后在资源视图中会出现一个名为</font><font FACE="Times New Roman" SIZE="3">IDD_DIALOG1</font><font SIZE="3">的新的对话框模板资源。双击</font><font FACE="Times New Roman" SIZE="3">IDD_DIALOG1</font><font SIZE="3">,则会打开该对话框模板的编辑窗口,如图</font><font FACE="Times New Roman" SIZE="3">5.2</font><font SIZE="3">所示。缺省的对话框模板有</font><font FACE="Times New Roman" SIZE="3">OK</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">Cancel</font><font SIZE="3">两个按钮,在窗口的旁边有一个控件面板,在控件面板上用鼠标选择一个控件,然后在对话框中点击,则相应的控件就被放置到了对话框模板中。图</font><font FACE="Times New Roman" SIZE="3">5.3</font><font SIZE="3">显示了控件面板上的按钮所代表的控件。读者不用记忆图</font><font FACE="Times New Roman" SIZE="3">5.3</font><font SIZE="3">的内容,如果不能确定控件的类型,可将鼠标在某个控件按钮上停留片刻,则会显示一个工具提示,指出该按钮所代表控件的名称。</font><font FACE="Times New Roman" SIZE="3"></p>
    <p ALIGN="center"></font><img src="T5_2.gif" alt="T5_2.tif (171522 bytes)" WIDTH="503" HEIGHT="322"><font SIZE="3"></p>
    <p ALIGN="center">图</font><font FACE="Times New Roman" SIZE="3">5.2 </font><font SIZE="3">缺省的对话框模板</font><font FACE="Times New Roman" SIZE="3"></p>
    <p ALIGN="center"></font><img src="T5_3.gif" alt="T5_3.tif (121020 bytes)" WIDTH="336" HEIGHT="323"><font SIZE="3"></p>
    <p ALIGN="center">图</font><font FACE="Times New Roman" SIZE="3">5.3 </font><font SIZE="3">控件面板</font><font FACE="Times New Roman" SIZE="3"></p>
    </font><font SIZE="3"><b><div align="center"><center><table border="2" cellpadding="2" cellspacing="0" width="90%" bgcolor="#BDD0F4">
      <tr>
        <td width="100%"></b>提示</font><font FACE="Times New Roman" SIZE="3">:</font><font SIZE="3">若读者看不到控件面板,请在</font><font FACE="Times New Roman" SIZE="3">Developer Studio</font><font SIZE="3">的工具条的空白处单击鼠标右键,并在随之弹出的菜单中选中</font><font FACE="Times New Roman" SIZE="3">Controls</font><font SIZE="3">。</font></td>
      </tr>
    </table>
    </center></div><p ALIGN="JUSTIFY">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font SIZE="3"></p>
    <p ALIGN="JUSTIFY"></font>&nbsp;&nbsp;&nbsp; <font SIZE="3">读者可以在对话框模板中随意加几个控件试试看。当用鼠标选择对话框或控件时,会出现一个围绕它的虚框,拖动虚框的边界可以改变对话框或控件的大小,在<font FACE="Times New Roman" SIZE="3">Developer Studio</font>的状态条中会显示出所选对象的坐标和尺寸。控件可以被拖动,也可以按箭头键来移动选中的控件。在拖动控件时若按住<font FACE="Times New Roman" SIZE="3">Ctrl</font>键,则控件会被复制。</p>
    <p ALIGN="JUSTIFY">用户可以一次选择多个控件,选择的方法有两个:</font><font FACE="Times New Roman" SIZE="3">1</font><font SIZE="3">。 
    在对话框的空白处拖动鼠标,则拖动出来的虚线框内的控件将被选中。</font><font FACE="Times New Roman" SIZE="3">2</font><font SIZE="3">。在选择控件时按住</font><font FACE="Times New Roman" SIZE="3">Ctrl</font><font SIZE="3">键,则可以多重选择。</p>
    <p ALIGN="JUSTIFY">选中控件或对话框后按回车键,则会弹出一个属性对话框,属性对话框用来设置控件或对话框的各种属性。属性对话框是标签式对话框,第一页是常规属性</font><font FACE="Times New Roman" SIZE="3">(General)</font><font SIZE="3">。一个典型的控件属性对话框如图</font><font FACE="Times New Roman" SIZE="3">5.4</font><font SIZE="3">所示.如果对属性对话框中的选项的意思不明白,可以按</font><font FACE="Times New Roman" SIZE="3">F1</font><font SIZE="3">键获得帮助.</font><font FACE="Times New Roman" SIZE="3"></p>
    <p ALIGN="center"></font><img src="T5_4.gif" alt="T5_4.tif (104580 bytes)" WIDTH="528" HEIGHT="185"><font SIZE="3"></p>
    <p ALIGN="center">图</font><font FACE="Times New Roman" SIZE="3">5.4 </font><font SIZE="3">控件属性对话框</font><font FACE="Times New Roman" SIZE="3"></p>
    </font><font SIZE="3"><p ALIGN="JUSTIFY">在控件属性对话框的常规属性中,有一些控件共同的属性:</p>
    <blockquote>
      <ul>
        <li><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ID</font>属性。用于指定控件的标识符,<font FACE="Times New Roman" SIZE="3">Windows</font>依靠<font FACE="Times New Roman" SIZE="3">ID</font>来区分不同的控件。</p>
        </li>
        <li><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">Caption</font>(标题)属性。静态正文、组框、按钮、检查框、单选按钮等控件可以显示标题,用来对控件进行文字说明。控件标题中的字符<font FACE="Times New Roman" SIZE="3">&amp;</font>使紧跟其后的字符有下划线,按<font FACE="Times New Roman" SIZE="3">Alt+</font>下划线将启动该控件。若控件是一个单选按钮,则<font FACE="Times New Roman" SIZE="3">Alt+</font>下划线字符将选择该按钮;若是检查框,则相当于对该检查框按空格键;若是按钮,则将激活按钮命令;若控件是一个静态正文,则将激活按<font FACE="Times New Roman" SIZE="3">tab</font>顺序紧随其后的下一个控件。</p>
        </li>
        <li><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">Visible</font>属性。用来指定控件是否是可见的。</p>
        </li>
        <li><font FACE="Times New Roman" SIZE="3">Disable</font>属性。使控件允许或禁止,一个禁止的控件呈灰色显示,不能接收任何输入。</li>
        <li><font FACE="Times New Roman" SIZE="3">Tabstop</font>属性。用户可以按<font FACE="Times New Roman" SIZE="3">Tab</font>键移动到具有<font FACE="Times New Roman" SIZE="3">Tabstop</font>属性的控件上。<font FACE="Times New Roman" SIZE="3">Tab</font>移动的顺序可以由用户指定。按<font FACE="Times New Roman" SIZE="3">Ctrl+D</font>则<font FACE="Times New Roman" SIZE="3">Tab</font>顺序会显示出来,如图<font FACE="Times New Roman" SIZE="3">5.5</font>,用户可以用鼠标来重新指定<font FACE="Times New Roman" SIZE="3">Tab</font>顺序。缺省的<font FACE="Times New Roman" SIZE="3">Tab</font>顺序是控件的创建次序。</li>
        <li><font FACE="Times New Roman" SIZE="3">Group</font>属性。用来指定一组控件,用户可以用箭头键在该组控件内移动。在同一组内的单选按钮具有互斥的特性,即在这些单选按钮中只能有一个是选中的。如果一个控件具有<font FACE="Times New Roman" SIZE="3">Group</font>属性,则这个控件以及按<font FACE="Times New Roman" SIZE="3">Tab</font>顺序紧随其后的所有控件都属于一组的,直到遇到另一个有<font FACE="Times New Roman" SIZE="3">Group</font>属性的控件为止。</li>
      </ul>
    </blockquote>
    <p>现在就开始进行对话框模板的设计。首先,用鼠标选中对话框,按回车键,在弹出的属性对话框中将</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">改为</font><font FACE="Times New Roman" SIZE="3">IDD_REGISTER</font><font SIZE="3">并指定对话框的标题为“登录数据”。需要注意的是,由于要在对话框中显示汉字,因此必须设定正确的语种和字体。请读者在工作区资源视图的</font><font FACE="Times New Roman" SIZE="3">Dialog</font><font SIZE="3">类型中单击鼠标选中</font><font FACE="Times New Roman" SIZE="3">IDD_REGISTER</font><font SIZE="3">项,然后按</font><font FACE="Times New Roman" SIZE="3">Alt+Enter</font><font SIZE="3">键,并在弹出的属性对话框中的</font><font FACE="Times New Roman" SIZE="3">Language</font><font SIZE="3">栏中选择</font><font FACE="Times New Roman" SIZE="3">Chinese(P.R.C.)</font><font SIZE="3">。接着,打开模板的属性对话框,单击</font><font FACE="Times New Roman" SIZE="3">Font...</font><font SIZE="3">按钮,并选择“宋体”。</p>
    <p ALIGN="JUSTIFY">接着,请将对话框模板上的所有控件删除,删除的办法是选择控件后按</font><font FACE="Times New Roman" SIZE="3">Del</font><font SIZE="3">键。为了容纳所有需要的控件,需将对话框的尺寸扩大到</font><font FACE="Times New Roman" SIZE="3">280</font><font SIZE="3">×</font><font FACE="Times New Roman" SIZE="3">180</font><font SIZE="3">。然后,请读者按图</font><font FACE="Times New Roman" SIZE="3">5.1</font><font SIZE="3">和表</font><font FACE="Times New Roman" SIZE="3">5.2</font><font SIZE="3">来设计对话框模板。</font><font FACE="Times New Roman" SIZE="3"></p>
    </font><font SIZE="3"><div align="center"><center><table border="2" cellpadding="2" cellspacing="0" width="90%" bgcolor="#A6C0F0">
      <tr>
        <td width="100%">提示:对话框的尺寸单位不是象素,而是与字体的大小有关。</font><font FACE="Times New Roman" SIZE="3">X</font><font SIZE="3">方向上一个单位等于字符平均宽度的</font><font FACE="Times New Roman" SIZE="3">1/4</font><font SIZE="3">,</font><font FACE="Times New Roman" SIZE="3">Y</font><font SIZE="3">方向上一个单位等于字符平均高度的</font><font FACE="Times New Roman" SIZE="3">1/8</font><font SIZE="3">。这样,随着字体的改变,对话框单位也会改变,对话框本身的总体比例保持不变。</font></td>
      </tr>
    </table>
    </center></div><p><font SIZE="3"> </p>
    <p ALIGN="CENTER">表</font><font FACE="Times New Roman" SIZE="3">5.2</font></p>
    <table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
      <tr>
        <td WIDTH="25%"><font SIZE="3">控件类型</font></td>
        <td WIDTH="25%"><font FACE="Times New Roman" SIZE="3">ID</font></td>
        <td WIDTH="25%"><font SIZE="3">标题</font><font FACE="Times New Roman" SIZE="3">(Caption)</font></td>
        <td WIDTH="25%"><font SIZE="3">其它属性</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">组框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">个人情况</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
        <td WIDTH="25%"><font SIZE="3">个人情况</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">组框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">单位情况</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
        <td WIDTH="25%"><font SIZE="3">单位情况</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">静态正文</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">姓名</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
        <td WIDTH="25%"><font SIZE="3">姓名</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">编辑框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">姓名</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font FACE="Times New Roman" SIZE="3">IDC_NAME</font></td>
        <td WIDTH="25%"> </td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">检查框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">婚否</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font FACE="Times New Roman" SIZE="3">IDC_MARRIED</font></td>
        <td WIDTH="25%"><font SIZE="3">婚否</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">静态正文</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">年龄</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
        <td WIDTH="25%"><font SIZE="3">年龄</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">编辑框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">年龄</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font FACE="Times New Roman" SIZE="3">IDC_AGE</font></td>
        <td WIDTH="25%"> </td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>
      <tr>
        <td WIDTH="25%"><font SIZE="3">组框</font><font FACE="Times New Roman" SIZE="3">(</font><font SIZE="3">性别</font><font FACE="Times New Roman" SIZE="3">)</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
        <td WIDTH="25%"><font SIZE="3">性别</font></td>
        <td WIDTH="25%"><font SIZE="3">缺省</font></td>
      </tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -