我正在学习 Windows 编程,我不明白滚动条的滚动范围和页面大小。
基于http://msdn.microsoft.com/en-us/library/bb787527.aspx,
MaxScrollPos = MaxRangeValue - (PageSize - 1)
但为什么?我认为如果
MaxScrollPos = MaxRangeValue - PageSize
如果我想显示一个高度为2000px,客户端高度为600px的位图,自然设置滚动范围为[0, 2000],页面大小为600。当滚动位置为0时,位图的顶部被展示; 当滚动位置为 1400 时,显示位图的底部。但是如果我这样做,我可以将滚动位置设置为 2000 - (600 - 1) = 1401。如果 1400 应该显示底部,那么位置 1401 是什么意思?如果“MaxScrollPos”确实等于“MaxRangeValue - PageSize”,那么一切都会完美运行。现在我必须将滚动范围设置为 [0, 1999] 以避免该问题。我认为这是不自然的。那么,有谁能解释一下吗?