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 滚动条拖动完成(用户松开鼠标)
自动化基础概念之COM组件与接口 什么是迭代跟递归算法?二者有什么区别? PictureEx.h和PictureEx.cpp源文件 告别图标失真的烦恼 用DLL控制Windows中进程的方法 VC程序设计中可序列化类的实现 C++基本数据类型与输入输出 C++类对象的拷贝构造函数
VC++实现数字图像增强处理(上) VC++ Combo Box/Combo Box Ex控件 VC++ 6.0下自制媒体播放器&实现AVI文件的图像截取 VC++之List Box/Check List Box控件 VC如何定制对话框系统菜单 VC++ List Ctrl控件 VC++之Edit Box控件 如何学好VC和MFC(一)
| 设为首页 | 加入收藏 | 联系站长 | 网站地图 | 版权申明 | 管理登录 |
CopyRight © 2001~2006 www.gold98.net All Rights Reserved 备案号:湘ICP备06012244号