📄 chap6_1.htm
字号:
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">BS_AUTOCHECKBOX</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">同</font><font FACE="Times New Roman" SIZE="3">BS_CHECKBOX</font><font SIZE="3">,不过单击鼠标时按钮会自动反转。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">BS_AUTORADIOBUTTON</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">同</font><font FACE="Times New Roman" SIZE="3">BS_RADIOBUTTON</font><font SIZE="3">,不过单击鼠标时按钮会自动反转。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">BS_AUTO3STATE</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">同</font><font FACE="Times New Roman" SIZE="3">BS_3STATE</font><font SIZE="3">,不过单击按钮时会改变状态。</font></td>
</tr>
<tr>
<td WIDTH="31%"><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">BS_CHECKBOX</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">BS_DEFPUSHBUTTON</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">BS_GROUPBOX</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">BS_LEFTTEXT</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">BS_OWNERDRAW</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">BS_PUSHBUTTON</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">BS_RADIOBUTTON</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">BS_3STATE</font></td>
<td WIDTH="69%"><font SIZE="3"><p ALIGN="JUSTIFY">同</font><font FACE="Times New Roman" SIZE="3">BS_CHECKBOX</font><font SIZE="3">,不过控件有三种状态:选择、未选择和变灰。</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"></font><font SIZE="3">除了上表中的风格外,一般还要为控件指定</font><font FACE="Times New Roman" SIZE="3">WS_CHILD</font><font SIZE="3">、</font><font FACE="Times New Roman" SIZE="3">WS_VISIBLE</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">WS_TABSTOP</font><font SIZE="3">窗口风格,</font><font FACE="Times New Roman" SIZE="3">WS_TABSTOP</font><font SIZE="3">使控件具有</font><font FACE="Times New Roman" SIZE="3">Tabstop</font><font SIZE="3">属性。创建一个普通按钮应指定的风格为</font><font FACE="Times New Roman" SIZE="3">WS_CHILD|WS_VISIBLE|WS_TABSTOP</font><font SIZE="3">。创建一个普通检查框应指定风格</font><font FACE="Times New Roman" SIZE="3">WS_CHILD|WS_VISIBLE|WS_TABSTOP| BS_AUTOCHECKBOX</font><font SIZE="3">。创建组中第一个单选按钮应指定风格</font><font FACE="Times New Roman" SIZE="3">WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_GROUP|
BS_AUTORADIOBUTTON</font><font SIZE="3">,组中其它单选按钮应指定风格则不应该包括</font><font FACE="Times New Roman" SIZE="3">WS_TABSTOP</font><font SIZE="3">和</font><font FACE="Times New Roman" SIZE="3">WS_GROUP</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.4</font><font SIZE="3">中列出的控件风格。例如,在命令按钮的属性对话框中选择</font><font FACE="Times New Roman" SIZE="3">Default button</font><font SIZE="3">,相当于指定了</font><font FACE="Times New Roman" SIZE="3">BS_DEFPUSHBUTTON</font><font SIZE="3">。</font><font FACE="Times New Roman" SIZE="3"></p>
<p ALIGN="JUSTIFY">CButton</font><font SIZE="3">类的主要的成员函数有:</p>
<blockquote>
<blockquote>
<blockquote>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">UINT GetState( ) const;<br>
</font><font SIZE="3">该函数返回按钮控件的各种状态。可以用下列屏蔽值与函数的返回值相与,以获得各种信息。</p>
<blockquote>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">0x0003</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">表示不确定状态(仅用于检查框)。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">0x0004</font><font SIZE="3">。用来判断按钮是否是高亮度显示的。非零值意味着按钮是高亮度显示的。当用户点击了按钮并按主鼠标左键时,按钮会呈高亮度显示。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">0x0008</font><font SIZE="3">。非零值表示按钮拥有输入焦点。</p>
</blockquote>
</blockquote>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">void SetState( BOOL
bHighlight );<br>
</font><font SIZE="3">当参数</font><font FACE="Times New Roman" SIZE="3">bHeightlight</font><font SIZE="3">值为</font><font FACE="Times New Roman" SIZE="3">TRUE</font><font SIZE="3">时,该函数将按钮设置为高亮度状态,否则,去除按钮的高亮度状态。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">int GetCheck( ) 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">表示按钮处于不确定状态(仅用于检查框)。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">void SetCheck( int nCheck
);<br>
</font><font SIZE="3">设置检查框或单选按钮的选择状态。参数</font><font FACE="Times New Roman" SIZE="3">nCheck</font><font SIZE="3">值的含义与</font><font FACE="Times New Roman" SIZE="3">GetCheck</font><font SIZE="3">返回值相同。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">UINT GetButtonStyle( )
const;<br>
</font><font SIZE="3">获得按钮控件的</font><font FACE="Times New Roman" SIZE="3">BS_XXXX</font><font SIZE="3">风格。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">void SetButtonStyle( UINT
nStyle, BOOL bRedraw = TRUE );<br>
</font><font SIZE="3">设置按钮的风格。参数</font><font FACE="Times New Roman" SIZE="3">nStyle</font><font SIZE="3">指定了按钮的风格。</font><font FACE="Times New Roman" SIZE="3">bRedraw</font><font SIZE="3">为</font><font FACE="Times New Roman" SIZE="3">TRUE</font><font SIZE="3">则重绘按钮,否则就不重绘。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HBITMAP SetBitmap( HBITMAP
hBitmap );<br>
</font><font SIZE="3">设置按钮显示的位图。参数</font><font FACE="Times New Roman" SIZE="3">hBitmap</font><font SIZE="3">指定了位图的句柄。该函数还会返回按钮原来的位图。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HBITMAP GetBitmap( )
const;<br>
</font><font SIZE="3">返回以前用</font><font FACE="Times New Roman" SIZE="3">SetBitmap</font><font SIZE="3">设置的按钮位图。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HICON SetIcon( HICON hIcon
);<br>
</font><font SIZE="3">设置按钮显示的图标。参数</font><font FACE="Times New Roman" SIZE="3">hIcon</font><font SIZE="3">指定了图标的句柄。该函数还会返回按钮原来的图标。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HICON GetIcon( ) const;<br>
</font><font SIZE="3">返回以前用</font><font FACE="Times New Roman" SIZE="3">SetIcon</font><font SIZE="3">设置的按钮图标。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HCURSOR SetCursor( HCURSOR
hCursor );<br>
</font><font SIZE="3">设置按钮显示的光标图。参数</font><font FACE="Times New Roman" SIZE="3">hCursor</font><font SIZE="3">指定了光标的句柄。该函数还会返回按钮原来的光标。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">HCURSOR GetCursor( );<br>
</font><font SIZE="3">返回以前用</font><font FACE="Times New Roman" SIZE="3">GetCursor</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">ID</font><font SIZE="3">,就可以直接设置或查询按钮。</p>
<blockquote>
<blockquote>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">void CheckDlgButton( int
nIDButton, UINT nCheck );<br>
</font><font SIZE="3">用来设置按钮的选择状态。参数</font><font FACE="Times New Roman" SIZE="3">nIDButton</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">nCheck</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">表示按钮处于不确定状态。</p>
</font><font FACE="Times New Roman" SIZE="3"><p ALIGN="JUSTIFY">void CheckRadioButton( int
nIDFirstButton, int nIDLastButton, int nIDCheckButton );<br>
</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">,</font><font FACE="Times New Roman" SIZE="3">nIDCheckButton</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">int GetCheckedRadioButton(
int nIDFirstButton, int nIDLastButton );<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -