滚动条

                                               滚动条
  滚动条既可以是许多子窗口(如编辑框、列表框)的附件,又可以独立成为子窗口。
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时可见,相反则隐藏
);
原文地址:https://www.cnblogs.com/IMyLife/p/4826048.html