📄 vcc74.htm
字号:
<html>
<head>
<title>c++系列</title>
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
</head>
<p align="center"><script src="../../1.js"></script></a>
<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center>
<table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
<tbody>
<tr>
<td width=200 height="59">
</tr>
</tbody>
</table>
<table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0
cellspacing=0 width=685 align="center" height="70">
<tbody>
<tr>
<td bgcolor=#F9D23C height=14>
<div align=center class=H1><font color="#FFFFFF">Scroll Bar</font></div>
</td>
</tr>
<tr valign=top>
<td class=H1 height=51>
<p align="left"> <span class="unnamed1">Scroll Bar一般不会单独使用,因为SpinCtrl可以取代滚动条的一部分作用,但是如果你需要自己生成派生窗口,滚动条还是会派上一些用场。创建一个滚动条可以使用成员函数:
: <br>
BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT&
rect, CWnd* pParentWnd, UINT nID = 0xffff ); <br>
其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对滚动条指明专门的风格。 </span></small>
</p>
<ul>
<li class="unnamed1"><small>SBS_VERT 风格将创建一个垂直的滚动条。</small>
<li class="unnamed1"><small>SBS_HORZ 风格将创建一个水平的滚动条。</small> </li>
</ul>
<p></p>
<p class="unnamed1"><small>在创建滚动条后需要调用void SetScrollRange( int nMinPos,
int nMaxPos, BOOL bRedraw = TRUE )设置滚动范围, <br>
int GetScrollPos( )/int SetScrollPos( )用来得到和设置当前滚动条的位置。</small></p>
<p class="unnamed1"><small>void ShowScrollBar( BOOL bShow = TRUE );用来显示/隐藏滚动条。</small></p>
<p class="unnamed1"><small>BOOL EnableScrollBar( UINT nArrowFlags = ESB_ENABLE_BOTH
)用来设置滚动条上箭头是否为允许状态。nArrowFlags可取以下值: </small>
<ul>
<li class="unnamed1"><small>ESB_ENABLE_BOTH 两个箭头都为允许状态</small>
<li class="unnamed1"><small>ESB_DISABLE_LTUP 上/左箭头为禁止状态</small>
<li class="unnamed1"><small>ESB_DISABLE_RTDN 下/右箭头为禁止状态</small>
<li class="unnamed1"><small>ESB_DISABLE_BOTH 两个箭头都为禁止状态</small> </li>
</ul>
<p></p>
<p></p>
<p class="unnamed1"><small>如果需要在滚动条位置被改变时得到通知,需要在父窗口中定义对消息WM_VSCROLL/WM_HSCROLL的映射。方法为在父窗口类中重载
<br>
afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar
)/afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar
) <br>
所使用的消息映射宏为:ON_WM_VSCROLL( ),ON_WM_HSCROLL( ),在映射宏中不需要指明滚动条的ID,因为所有滚动条的滚动消息都由同样的函数处理。在OnHScroll/OnVScroll的第三个参数会指明当前滚动条的指针。第一个参数表示滚动条上发生的动作,可取以下值:
</small>
<ul>
<li class="unnamed1"><small>SB_TOP/SB_BOTTOM 已滚动到顶/底部</small>
<li class="unnamed1"><small>SB_LINEUP/SB_LINEDOWN 向上/下滚动一行</small>
<li class="unnamed1"><small>SB_PAGEDOWN/SB_PAGEUP 向上/下滚动一页</small>
<li class="unnamed1"><small>SB_THUMBPOSITION/SB_THUMBTRACK 滚动条拖动到某一位置,参数nPos指明当前位置(参数nPos在其它的情况下是无效的)</small>
<li class="unnamed1"><small>SB_ENDSCROLL 滚动条拖动完成(用户松开鼠标)</small></li>
</ul>
<div align="left"> </div>
</td>
</tr>
</tbody>
</table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -