三、Windows编程之滚动条—滚动条卷动范围

2012-11-05 12:23:45 · 作者: · 浏览: 226

在SYSMETS2中,卷动范围设置最小为0,最大为NUMLINES-1。当滚动条位置是0时,第一行信息显示在显示区域的顶部;当滚动条的位置是NUMLINES-1时,最后一行显示在显示区域的顶部,并且看不见其它行。

可以说SYSMETS2卷动范围太大。事实上只需把信息最后一行显示在显示区域的底部而不是顶部即可。我们可以对SYSMETS2作出一些修改以达到此点。当处理WM_CREATE消息时不设置滚动条范围,而是等到接收到WM_SIZE消息后再做此工作:

iVscrollMax = max (0, NUMLINES - cyClient / cyChar) ;        SetScrollRange (hwnd, SB_VERT, 0, iVscrollMax, TRUE) ;