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

📄 subject_64590.htm

📁 vc
💻 HTM
字号:
<p>
序号:64590 发表者:巴拉克 发表日期:2003-12-11 16:52:14
<br>主题:CScrollBar的用法。
<br>内容:我想使用CScrollBar,可是发现这个东西没有事件,请问那位用过这个,谢谢。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-11 17:10:51
<br>内容:响应对话框类的WM_HSCROLL和WM_VSCROLL消息:<BR><BR>MSDN:<BR>afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar );<BR><BR>Parameters<BR><BR>nSBCode<BR><BR>Specifies a scroll-bar code that indicates the user’s scrolling request. This parameter can be one of the following: <BR><BR>SB_BOTTOM&nbsp;&nbsp; Scroll to bottom.<BR><BR><BR>SB_ENDSCROLL&nbsp;&nbsp; End scroll.<BR><BR><BR>SB_LINEDOWN&nbsp;&nbsp; Scroll one line down.<BR><BR><BR>SB_LINEUP&nbsp;&nbsp; Scroll one line up.<BR><BR><BR>SB_PAGEDOWN&nbsp;&nbsp; Scroll one page down.<BR><BR><BR>SB_PAGEUP&nbsp;&nbsp; Scroll one page up.<BR><BR><BR>SB_THUMBPOSITION&nbsp;&nbsp; Scroll to the absolute position. The current position is provided in nPos.<BR><BR><BR>SB_THUMBTRACK&nbsp;&nbsp; Drag scroll box to specified position. The current position is provided in nPos.<BR><BR><BR>SB_TOP&nbsp;&nbsp; Scroll to top. <BR>nPos<BR><BR>Contains the current scroll-box position if the scroll-bar code is SB_THUMBPOSITION or SB_THUMBTRACK; otherwise not used. Depending on the initial scroll range, nPos may be negative and should be cast to an int if necessary.<BR><BR>pScrollBar<BR><BR>If the scroll message came from a scroll-bar control, contains a pointer to the control. If the user clicked a window’s scroll bar, this parameter is NULL. The pointer may be temporary and should not be stored for later use.<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:pangshaohua 回复日期:2003-12-11 22:49:15
<br>内容:从性质上划分,滚动条可分为标准滚动条和滚动条控件两种.标准滚动条是由WS_HSCROLL或WS_VSCROLL风格指定的,它不是一个实际的窗口,而是窗口的一个组成部分(例如列表框中的滚动条),只能位于窗口的右侧(垂直滚动条)或底端(水平滚动条).标准滚动条是在窗口的非客户区中创建的.与之相反,滚动条控件并不是窗口的一个零件,而是一个实际的窗口,可以放置在窗口客户区的任意地方,它既可以独立存在,也可以与某一个窗口组合,行使滚动窗口的职能.由于滚动条控件是一个独立窗口,因此可以拥有输入焦点,可以响应光标控制键,如PgUp、PgDown、Home和End.<BR>无论是标准滚动条,还是滚动条控件,滚动条的通知消息都是用WM_HSCROLL和WM_VSCROLL消息发送出去的.对这两个消息的确省处理函数是CWnd::OnHScroll和CWnd::OnVScroll,它们几乎什么也不做.一般需要在派生类中对这两个函数从新设计,以实现滚动功能.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-12-12 00:23:28
<br>内容:你在使用CScrollBar的窗口中响应WM_HSCROLL或WM_VSCROLL消息,然后判断其pScrollBar是否为NULL来决定是控件(不是NULL),还是窗口的滚动条(是NULL),见下面的代码(可以是视,也可以是其它窗口):<BR>void CXXXView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) <BR>{<BR>&nbsp;&nbsp;int i=0;<BR>&nbsp;&nbsp;if( pScrollBar!=NULL)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if( pScrollBar-&gt;IsKindOf(RUNTIME_CLASS(CScrollBar)) )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCROLLINFO si; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;si.cbSize=sizeof(SCROLLINFO);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;si.fMask=SIF_ALL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pScrollBar-&gt;GetScrollInfo(&amp;si);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=si.nPos;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(&nbsp;&nbsp;&nbsp;&nbsp;nSBCode )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case TB_THUMBPOSITION:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case TB_THUMBTRACK:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=nPos;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( i&gt;=si.nMax-(int)si.nPage )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = si.nMax-si.nPage;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case SB_LINELEFT:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pScrollBar-&gt;SetScrollPos( i );<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;else<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;...//窗口的滚动条<BR>&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;CView::OnHScroll(nSBCode, nPos, pScrollBar);<BR>}<BR><BR>2003-12-12 0:25:14

⌨️ 快捷键说明

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