滚动条 滚动条既可以是许多子窗口(如编辑框、列表框)的附件,又可以独立成为子窗口。 1.基础知识 滚动条的主要用途在于对某个在一定范围内变化的属性值或者变量进行动态设置。例如用滚动条可以方便地控制颜色的深浅,设置线条的宽度;滚动条也用来显示某个任务的进度,这样滚动条又被称为进度条。 滚动条的风格如表所示。 风格取值 描述 SBS_BOTTOMALIGN 创建水平滚动条,滚动条在窗口的底端 SBS_HORZ 创建水平滚动条 SBS_LEFTALIGN 创建一个靠左对齐的垂直滚动条 SBS_mGHTALIGN 创建一个靠右对齐的垂直滚动条 SBS_SIZEBOX 创建一个对话框式的滚动条 SBS_TOPALIGN 适用于水平滚动条,顶端与指定的矩形对齐 SBS_VERT 创建垂直滚动条 滚动条的消息类型如表所示。 滚动条消息 描述 SBM_ENABLE ARROWS 激活或者关闭滚动条的滚动按钮 SBM_GETPOS 得到滚动条当前滚动按钮的位置 SBM_GETRANGE 得到滚动条当前设置的范围 SBM_GETSCROLLINFO 得到滚动条的相关信息,包括位置、大小等 SBM_SETPOS 设置滚动条滚动按钮的位置 SBM_SETRANGE 设置范围 SBM_SETRANGEREDRAW 当需要重画滚动条时发送设置最大和最小值位置的消息 SBM_SETSCROLLINFO 设置滚动条属性 WM_CTLCOLORSCROLLBAR 当滚动条改变时向父窗口发送设置背景颜色的消息 WM_HSCROLL 水平滚动条变化 WM_VSCROLL 垂直滚动条变化 用来设置滚动条类型和活动状态的函数是EnableScrollBar,其原型定义如下: BOOL EnableScrollBar( HWND hwnd // 指向父窗口或者滚动条的句柄 UINT wSBflags,//标志滚动条的类型 UINT wArrows //滚动条的滚动按钮设置 );滚动条有一些重要的函数和方法,下面分别介绍。 wSBflag用来设置滚动条的类型,可以取表所示的任意值。 wSBflag的取值参数 参数取值 描述 SB_BOTH 使一个水平或者垂直滚动条的滚动按钮禁活或者复活,hWnd必须指向父窗口 SB_CTL 设置滚动条的标识符,hWnd必须指向滚动条 SB_HORZ 使一个水平滚动条的滚动按钮禁活或者复活,hWnd必须指向父窗口 SB_VERT 使一个垂直滚动条的滚动按钮禁活或者复活,hWnd必须指向父窗口 wArrows设置滚动条滚动按钮的活动状态,取值如表所示。 参数取值 描述 ESB_DISABLE_BOTH 使滚动条两个滚动按钮都禁活 ESB_DISABLE_DOWN 使垂直滚动条向下的滚动按钮禁活 ESB_DISABLE_LEFT 使水平滚动条向左的滚动按钮禁活 ESB_DISABLE_LTUP 使水平滚动条向左的滚动按钮禁活,或者使垂直滚动条向上的滚动按钮禁活 ESB_DISABLE_RIGHT 使水平滚动条向右的滚动按钮禁活 ESB_DISABIE_RTDN 使水平滚动条向右的滚动按钮禁活,或者使垂直滚动条向下的滚动按钮禁活 ESB_DISABLE_UP 使垂直滚动条向上的滚动按钮禁活 ESB_ENABLE_BOTH 使两个滚动按钮都能活动 显示或隐藏滚动条的函数是ShowScrollBar, 其原型定义如下: BOOL ShowScrollBar( HWND hwnd ,//指向父窗日的句柄 int wBar ,//滚动条活动状态的标志 BOOL bShow//滚动条是否可见,当为TRUE时可见,相反则隐藏 );