[Visual C++系列]窗口控件 - 4.4 Scroll Bar
来源:互联网 发布:2017流行网络词汇 编辑:程序博客网 时间:2024/06/15 15:17
Scroll Bar一般不会单独使用,因为SpinCtrl可以取代滚动条的一部分作用,但是如果你需要自己生成派生窗口,滚动条还是会派上一些用场。创建一个滚动条可以使用成员函数: :
BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对滚动条指明专门的风格。
- SBS_VERT 风格将创建一个垂直的滚动条。
- SBS_HORZ 风格将创建一个水平的滚动条。
在创建滚动条后需要调用void SetScrollRange( int nMinPos, int nMaxPos, BOOL bRedraw = TRUE )设置滚动范围,
int GetScrollPos( )/int SetScrollPos( )用来得到和设置当前滚动条的位置。
void ShowScrollBar( BOOL bShow = TRUE );用来显示/隐藏滚动条。
BOOL EnableScrollBar( UINT nArrowFlags = ESB_ENABLE_BOTH )用来设置滚动条上箭头是否为允许状态。nArrowFlags可取以下值:
- ESB_ENABLE_BOTH 两个箭头都为允许状态
- ESB_DISABLE_LTUP 上/左箭头为禁止状态
- ESB_DISABLE_RTDN 下/右箭头为禁止状态
- ESB_DISABLE_BOTH 两个箭头都为禁止状态
如果需要在滚动条位置被改变时得到通知,需要在父窗口中定义对消息WM_VSCROLL/WM_HSCROLL的映射。方法为在父窗口类中重载
afx_msg void OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )/afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )
所使用的消息映射宏为:ON_WM_VSCROLL( ),ON_WM_HSCROLL( ),在映射宏中不需要指明滚动条的ID,因为所有滚动条的滚动消息都由同样的函数处理。在OnHScroll/OnVScroll的第三个参数会指明当前滚动条的指针。第一个参数表示滚动条上发生的动作,可取以下值:
- SB_TOP/SB_BOTTOM 已滚动到顶/底部
- SB_LINEUP/SB_LINEDOWN 向上/下滚动一行
- SB_PAGEDOWN/SB_PAGEUP 向上/下滚动一页
- SB_THUMBPOSITION/SB_THUMBTRACK 滚动条拖动到某一位置,参数nPos指明当前位置(参数nPos在其它的情况下是无效的)
- SB_ENDSCROLL 滚动条拖动完成(用户松开鼠标)
- [Visual C++系列]窗口控件 - 4.4 Scroll Bar
- Scroll Bar控件
- 子窗口控件——滚动条控件(Scroll Bar)
- 鸡啄米vc++2010系列25(滚动条控件Scroll Bar)
- MFC之滚动条控件Scroll Bar
- [Visual C++系列]窗口控件 - 4.1 Button
- Scroll bar
- 常用控件之 滚动条控件Scroll Bar
- MFC编程之常用控件:滚动条控件Scroll Bar
- VC:在单视图窗口中,增减scroll bar
- 滚动条控件Scroll Bar(VS2010/MFC)
- [Visual C++系列]窗口控件 - 4.2 Static Box
- [Visual C++系列]窗口控件 - 4.3 Edit Box
- [Visual C++系列]窗口控件 - 4.6 Combo Box
- [Visual C++系列]窗口控件 - 4.7 Tree Ctrl
- DIV SCROLL BAR
- DIV SCROLL BAR
- Scroll bar 的使用
- memset函数详细说明和用法
- The Q&A during Webkit learning.
- 每个开发人员现在应该下载的十种必备工具
- context中startActivity报错
- xp下硬盘安装ubuntu
- [Visual C++系列]窗口控件 - 4.4 Scroll Bar
- [Visual C++系列]窗口控件 - 4.5 List Box/Check List Box
- 两个交换机IP冲突问题
- 大型网站的负载均衡器、db proxy和db
- [Visual C++系列]窗口控件 - 4.5 List Box/Check List Box
- H264 视频文件 帧格式 传输封装等 杂碎
- TCPdump抓包命令详解
- [Visual C++系列]窗口控件 - 4.6 Combo Box
- Pydev中使用中文注释