标准滚动条和滚动条控件

【勇芳软件工作室】汉化HomePreviousNext

滚动条作为标准滚动条或滚动条控件包含在窗口中。A 【标准滚动条】位于窗口的非客户区域中。它是用窗口创建的,并在显示窗口时显示。标准滚动条的唯一目的是使用户能够生成用于查看客户区域的整个内容的滚动请求。创建窗口时,可以通过指定WS_HSCROLL,WS_VSCROLL或两种样式,在窗口中包含标准滚动条。WS_HSCROLL样式创建一个位于客户区域底部的水平滚动条。WS_VSCROLL样式创建位于客户区右侧的垂直滚动条。SM_CXHSCROLL和SM_CYHSCROLL系统度量值定义标准水平滚动条的宽度和高度。SM_CXVSCROLL和SM_CYVSCROLL值定义标准垂直滚动条的宽度和高度。

A 【滚动条控件】是属于SCROLLBAR窗口类的控制窗口。出现滚动条控件,功能类似于标准滚动条,但它是一个单独的窗口。作为单独的窗口,滚动条控件接收直接输入焦点,由滚动框中显示的闪烁插入符指示。与标准滚动条不同,滚动条控件还具有内置键盘界面,使用户能够直接滚动。您可以在单个窗口中根据需要使用尽可能多的滚动条控件。创建滚动条控件时,必须指定滚动条的大小和位置。但是,如果可以调整滚动条控件的窗口大小,则只要窗口的大小更改,就必须对滚动条的大小进行调整。

使用标准滚动条的优点是Windows创建滚动条并自动设置其大小和位置。然而,标准滚动条有时是太限制性的。例如,假设您希望将客户区划分为象限,并使用单独的一组滚动条来控制每个象限的内容。您不能使用标准滚动条,因为您只能为特定窗口创建一组滚动条。使用滚动条控件,因为您可以根据需要将其中的多数添加到窗口中。

应用程序可以为卷动窗口内容以外的目的提供滚动条控件。例如,屏幕保护程序可能会提供滚动条,用于设置图形在屏幕上移动的速度。

滚动条控件可以具有多个样式,用于控制滚动条的方向和位置。当您调用CreateWindowEx函数创建滚动条控件时,可以指定所需的样式。一些样式创建一个使用默认宽度或高度的滚动条控件。但是,必须始终指定滚动条的x坐标和y坐标以及其他尺寸。以下是滚动条控件样式。

样式含义
SBS_BOTTOMALIGN 
 将滚动条的底部边缘与由CreateWindowEx参数【x】【y】【nWidth】【nHeight参数】定义的矩形的下边缘对齐。滚动条具有系统滚动条的默认高度。使用SBS_HORZ风格的风格。
SBS_HORZ 
 指定水平滚动条。如果既不指定SBS_BOTTOMALIGN也不指定SBS_TOPALIGN样式,则滚动条具有由CreateWindowEx参数指定的高度,宽度和位置。
SBS_LEFTALIGN 
 将滚动条的左边缘与由CreateWindowEx的参数定义的矩形的左边缘对齐。滚动条具有系统滚动条的默认宽度。将此样式与SBS_VERT样式一起使用。
SBS_RIGHTALIGN 
 将滚动条的右边缘与由CreateWindowEx的参数定义的矩形的右边缘对齐。滚动条具有系统滚动条的默认宽度。将此样式与SBS_VERT样式一起使用。
SBS_SIZEBOX 
 指定一个大小框。如果既不指定SBS_SIZEBOXBOTTOMRIGHTALIGN也不指定SBS_SIZEBOXTOPLEFTALIGN样式,则大小框具有由CreateWindowEx参数指定的高度,宽度和位置。
SBS_SIZEBOXBOTTOMRIGHTALIGN 
 将大小框的右下角与由CreateWindowEx的参数指定的矩形的右下角对齐。大小框具有系统大小框的默认大小。使用此样式与SBS_SIZEBOX样式。
SBS_SIZEBOXTOPLEFTALIGN 
 将大小框的左上角与由CreateWindowEx的参数指定的矩形的左上角对齐。大小框具有系统大小框的默认大小。使用此样式与SBS_SIZEBOX样式。
SBS_SIZEGRIP 
 与SBS_SIZEBOX相同,但具有凸起边缘(版本4.0或更高版本)。
SBS_TOPALIGN 
 将滚动条的上边缘与由CreateWindowEx的参数定义的矩形的顶边对齐。滚动条具有系统滚动条的默认高度。使用SBS_HORZ风格的风格。
SBS_VERT 
 指定垂直滚动条。如果既不指定SBS_RIGHTALIGN也不指定SBS_LEFTALIGN样式,则滚动条具有由CreateWindowEx参数指定的高度,宽度和位置。