【问题标题】:What's the value of the scroll-bar-range?滚动条范围的值是多少?
【发布时间】:2014-12-02 23:29:40
【问题描述】:

我正在处理窗口中滚动条的数学逻辑。具体来说,我不知道变量是什么意思。滚动条逻辑如下:

 (thumb-size / scroll-bar-size) = (page-size / scroll-bar-range)

现在,我想知道滚动条范围是什么。我知道滚动条的范围是多少。但我不知道这如何有助于将其放入公式中。因为我们的范围是 [0...n] 而不是单个值。我们有多个值,从零、一、二到 n。

例如,如果我有一个这样定义的滚动条范围:

SCROLLINFO si;
si.nMin = 0;        // minimum value of scroll-bar-range
si.nMax = 50;       // maximum value of scroll-bar-range
si.nPage = 25;      // page-size

如何将范围放入上述公式?假设这种情况下的范围是 [0..50]。我不知道这是否正确,但这是我的直觉告诉我的。

无论如何,在这种情况下,页面大小将是 25。但是我有什么可以代替上述公式中的滚动条范围?是51吗?那将给出:

25 / 51

谢谢大家。

【问题讨论】:

    标签: c windows winapi


    【解决方案1】:

    范围是nMax-nMin+1!所以它是 51。

    实际上设置 nMin=0 nMax=50 和 nPage 为 25。将导致 nPos 在 0 到 26 之间的范围内! http://msdn.microsoft.com/en-us/library/windows/desktop/bb787595(v=vs.85).aspx

    原因是,如果 nPos(顶行)在索引 26 上,则该页面上有 25 行从 26 到第 50 行-。

    在您的示例中,商 25/51 告诉系统 tumb 区域将覆盖滚动条的全部 (1.0) 空间的 21/51。因为 thumb 的大小显示了在可滚动区域中的相对页面位置。

    HTH

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2015-11-08
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2021-02-02
      • 1970-01-01
      相关资源
      最近更新 更多