📄 chap6_1.htm
字号:
</font><font SIZE="3">该函数用来获得一组单选按钮中被选中按钮的</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">。参数</font><font FACE="Times New Roman" SIZE="3">nIDFirstButton</font><font SIZE="3">说明了组中第一个按钮的</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">,</font><font FACE="Times New Roman" SIZE="3">nIDLastButton</font><font SIZE="3">说明了组中最后一个按钮的</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">UINT IsDlgButtonChecked(
int nIDButton ) const;<br>
</font><font SIZE="3">返回检查框或单选按钮的选择状态。返回值</font><font FACE="Times New Roman" SIZE="3">0</font><font SIZE="3">表示按钮未被选择,</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></p>
</blockquote>
</blockquote>
<p><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">可以调用</font><font FACE="Times New Roman" SIZE="3">CWnd</font><font SIZE="3">成员函数</font><font FACE="Times New Roman" SIZE="3">GetWindowText</font><font SIZE="3">,</font><font FACE="Times New Roman" SIZE="3">GetWindowTextLength</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">SetWindowText</font><font SIZE="3">来查询或设置按钮中显示的正文.</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY">MFC</font><font SIZE="3">还提供了</font><font FACE="Times New Roman" SIZE="3">CButton</font><font SIZE="3">的派生类</font><font FACE="Times New Roman" SIZE="3">CBitmapButton</font><font SIZE="3">。利用该类可以创建一个拥有四幅位图的命令按钮,按钮在不同状态时会显示不同的位图,这样可以使界面显得生动活泼。如果读者对</font><font FACE="Times New Roman" SIZE="3">CBitmapButton</font><font SIZE="3">感兴趣,可以参看</font><font FACE="Times New Roman" SIZE="3">VC5.0</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">CTRLTEST</font><font SIZE="3">。</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></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"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p></font><b><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font></b><font color="#3973DE" FACE="Times New Roman" SIZE="3">6.1.4 </font><font SIZE="3" color="#3973DE">编辑框控件</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">编辑框</font><font FACE="Times New Roman" SIZE="3">(Edit Box)</font><font SIZE="3">控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"</font><font FACE="Times New Roman" SIZE="3">\r\n</font><font SIZE="3">"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的.</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">编辑框控件会向父窗口发出如表</font><font FACE="Times New Roman" SIZE="3">6.5</font><font SIZE="3">所示的控件通知消息。</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><b><font SIZE="3"> </p>
<p ALIGN="CENTER">表</font><font FACE="Times New Roman" SIZE="3">6.5</font></b></p>
<table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
<tr>
<td WIDTH="22%"><font SIZE="3"><b><p ALIGN="JUSTIFY">消息</b></font></td>
<td WIDTH="78%"><font SIZE="3"><b><p ALIGN="JUSTIFY">含义</b></font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_CHANGE</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">编辑框的内容被用户改变了。与</font><font FACE="Times New Roman" SIZE="3">EN_UPDATE</font><font SIZE="3">不同,该消息是在编辑框显示的正文被刷新后才发出的。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_ERRSPACE</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">编辑框控件无法申请足够的动态内存来满足需要。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_HSCROLL</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">用户在水平滚动条上单击鼠标。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_KILLFOCUS</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">编辑框失去输入焦点。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_MAXTEXT</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">输入的字符超过了规定的最大字符数。在没有</font><font FACE="Times New Roman" SIZE="3">ES_AUTOHSCROLL</font><font SIZE="3">或</font><font FACE="Times New Roman" SIZE="3">ES_AUTOVSCROLL</font><font SIZE="3">的编辑框中,当正文超出了编辑框的边框时也会发出该消息。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_SETFOCUS</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">编辑框获得输入焦点。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_UPDATE</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">在编辑框准备显示改变了的正文时发送该消息。</font></td>
</tr>
<tr>
<td WIDTH="22%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">EN_VSCROLL</font></td>
<td WIDTH="78%"><font SIZE="3"><p ALIGN="JUSTIFY">用户在垂直滚动条上单击鼠标。</font></td>
</tr>
</table>
<p><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3"> </font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY">MFC</font><font SIZE="3">的</font><font FACE="Times New Roman" SIZE="3">CEdit</font><font SIZE="3">类封装了编辑框控件。</font><font FACE="Times New Roman" SIZE="3">CEdit</font><font SIZE="3">类的成员函数</font><font FACE="Times New Roman" SIZE="3">Create</font><font SIZE="3">负责创建按钮控件,该函数的声明为</p>
<blockquote>
<blockquote>
<blockquote>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">BOOL Create( DWORD
dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );</font></p>
</blockquote>
</blockquote>
</blockquote>
<p><font SIZE="3"> </p>
<p ALIGN="JUSTIFY">参数</font><font FACE="Times New Roman" SIZE="3">dwStyle</font><font SIZE="3">指定了编辑框控件风格,如表</font><font FACE="Times New Roman" SIZE="3">6.6</font><font SIZE="3">所示,</font><font FACE="Times New Roman" SIZE="3">dwStyle</font><font SIZE="3">可以是这些风格的组合。</font><font FACE="Times New Roman" SIZE="3">rect</font><font SIZE="3">指定了编辑框的位置和尺寸。</font><font FACE="Times New Roman" SIZE="3">pParentWnd</font><font SIZE="3">指定了父窗口,不能为</font><font FACE="Times New Roman" SIZE="3">NULL</font><font SIZE="3">。编辑框的</font><font FACE="Times New Roman" SIZE="3">ID</font><font SIZE="3">由</font><font FACE="Times New Roman" SIZE="3">nID</font><font SIZE="3">指定。如果创建成功,该函数返回</font><font FACE="Times New Roman" SIZE="3">TRUE</font><font SIZE="3">,否则返回</font><font FACE="Times New Roman" SIZE="3">FALSE</font><font SIZE="3">.</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY"></font><b><font SIZE="3"> </p>
<p ALIGN="CENTER">表</font><font FACE="Times New Roman" SIZE="3">6.6 </font><font SIZE="3">编辑框控件的风格</font></b></p>
<table BORDER="1" CELLSPACING="1" CELLPADDING="1" WIDTH="579">
<tr>
<td WIDTH="31%"><font SIZE="3"><b><p ALIGN="JUSTIFY">控件风格</b></font></td>
<td WIDTH="69%"><font SIZE="3"><b><p ALIGN="JUSTIFY">含义</b></font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_AUTOHSCROLL</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">当用户在行尾键入一个字符时,正文将自动向右滚动</font><font FACE="Times New Roman" SIZE="3">10</font><font SIZE="3">个字符,当用户按回车键时,正文总是滚向左边。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_AUTOVSCROLL</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">当用户在最后一个可见行按回车键时,正文向上滚动一页。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_CENTER</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">在多行编辑框中使正文居中。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_LEFT</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">左对齐正文。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_LOWERCASE</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">把用户输入的字母统统转换成小写字母。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_MULTILINE</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">指定一个多行编辑器。若多行编辑器不指定</font><font FACE="Times New Roman" SIZE="3">ES_AUTOHSCROLL</font><font SIZE="3">风格,则会自动换行,若不指定</font><font FACE="Times New Roman" SIZE="3">ES_AUTOVSCROLL</font><font SIZE="3">,则多行编辑器会在窗口中正文装满时发出警告声响。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_NOHIDESEL</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">缺省时,当编辑框失去输入焦点后会隐藏所选的正文,当获得输入焦点时又显示出来。设置该风格可禁止这种缺省行为。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">ES_OEMCONVERT</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">使编辑框中的正文可以在</font><font FACE="Times New Roman" SIZE="3">ANSI</font><font SIZE="3">字符集和</font><font FACE="Times New Roman" SIZE="3">OEM</font><font SIZE="3">字符集之间相互转换。这在编辑框中包含文件名时是很有用的。</font></td>
</tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -