SetScrollRange
2008-11-22 18:11
267 查看
函数功能:该函数设置所指定滚动条位置的最大最小值。
函数原型:BOOL SetScrollRange(HWND hWnd,int nBar,int nMinPos,int nMaxPos,BOOL bRedraw);
参数:
hWnd:滚动条控制或带有标准滚动条窗体的句柄,由nBar参数值确定。
nBar:指定滚动条将被设置。这个参数可以是下面值,含义如下:
SB_CTL:设置滚动条控制的范围。而参数hwnd必须是滚动条控制的句柄。
SB_HORZ:设置窗体上标准水平滚动翻页盒的范围。
SB_VERT:设置窗体上标准垂直滚动翻页盒的范围。
nMinPos:指定滚动位置的最小值。
nMaxPos:指定滚动位置的最大值。
bRedraw:指定滚动条是否被重画以反映变化。如果这个参数为TRUE,滚动条将被重化;如果为FALSE则不被重画。
返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
注意:可以使用setScrollRange函数把nMinPos和nMaxPos设置为一样的值从而隐藏起滚动条。在处理滚动条消息时,应用程序可以不用调用函数SetScrollRange来隐藏滚动条。新的应用程序使用函数ShowScrollBar来隐藏滚动条。
如果调用函数SetScrollPos之后马上调用函数SetScrollRange,则SetScrollPos中的bRedraw参数一定为零,以防止滚动条被画两次。
标准滚动条的缺省范围时0到100。滚动条控制的缺省值为NULL(参数nMinPos和nMaxPos的值均为零)。两个范围值之间的不同之处在于由参数nMinPos和nMaxPos指定的值不能超过MAXLONG的值。
因为说明滚动条位置的消息WM_HSCROLL和 WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollRange的参数nMaxPos中有一个实际最大值65,535。但是,因为函数SetScrolllnfo,SetScrollPos, SetScrollRange,GetScrolllnfo,GetScrollPos,和GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。
速查:Windows NT 3.1、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。
函数原型:BOOL SetScrollRange(HWND hWnd,int nBar,int nMinPos,int nMaxPos,BOOL bRedraw);
参数:
hWnd:滚动条控制或带有标准滚动条窗体的句柄,由nBar参数值确定。
nBar:指定滚动条将被设置。这个参数可以是下面值,含义如下:
SB_CTL:设置滚动条控制的范围。而参数hwnd必须是滚动条控制的句柄。
SB_HORZ:设置窗体上标准水平滚动翻页盒的范围。
SB_VERT:设置窗体上标准垂直滚动翻页盒的范围。
nMinPos:指定滚动位置的最小值。
nMaxPos:指定滚动位置的最大值。
bRedraw:指定滚动条是否被重画以反映变化。如果这个参数为TRUE,滚动条将被重化;如果为FALSE则不被重画。
返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
注意:可以使用setScrollRange函数把nMinPos和nMaxPos设置为一样的值从而隐藏起滚动条。在处理滚动条消息时,应用程序可以不用调用函数SetScrollRange来隐藏滚动条。新的应用程序使用函数ShowScrollBar来隐藏滚动条。
如果调用函数SetScrollPos之后马上调用函数SetScrollRange,则SetScrollPos中的bRedraw参数一定为零,以防止滚动条被画两次。
标准滚动条的缺省范围时0到100。滚动条控制的缺省值为NULL(参数nMinPos和nMaxPos的值均为零)。两个范围值之间的不同之处在于由参数nMinPos和nMaxPos指定的值不能超过MAXLONG的值。
因为说明滚动条位置的消息WM_HSCROLL和 WM_VSCROLL只能为16位数据,那些只依赖于说明位置数据消息的应用程序在函数SetScrollRange的参数nMaxPos中有一个实际最大值65,535。但是,因为函数SetScrolllnfo,SetScrollPos, SetScrollRange,GetScrolllnfo,GetScrollPos,和GetScrollRange都支持32位的滚动条位置数据,所以有一个解决16位WM_HSCROLL和WM_VSCROLL消息阻碍的途径,请参见函数GetScrolllnfo的有关技术说明。
速查:Windows NT 3.1、Windows CE 2.0以上,头文件:winuser.h;库文件:user32.lib。
相关文章推荐
- VC/MFC加滚动条显示大图片SetScrollRange()、SetScrollInfo()两种思路实现及其两者优劣比较
- 滚动栏范围位置函数(SetScrollRange、SetScrollPos、GetScrollRange、GetScrollPos)
- 滚动条范围位置函数(SetScrollRange、SetScrollPos、GetScrollRange、GetScrollPos)
- SetScrollRange
- SetScrollRange SetScrollInfo
- -[NSDecimalNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance
- 解决ScrollView.setOnScrollChangeListener() API23问题;
- 在CListView中用SetScrollPos改变滚动条的位置后,窗口中显示的内容如何也跟着移动实现。
- query.scroll()和query.setMaxResults();query.setFirstResult()两种分页方式
- CWnd::SetScrollInfo
- iOS BUG收集: -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance
- HTML中input元素的setSelectionRange()方法的详细使用过程
- ViewPager.setCurrentItem(int item, boolean smoothScroll);第二个参数的作用
- Error: must call SetScrollSizes() or SetScaleToFitSize()问题的解决
- 程序运行崩溃 SIGABRT __NSDictionaryI rangeOfCharacterFromSet:]
- 关于CScrollView中SetScrollSizes导致的OnDraw的无限调用
- GridEh Bug MoveCurrent SetScrollPos GetScrollInfo
- hrtimer - set timeout value to a range
- [置顶] Guava学习之RangeSet
- -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance