2014-10-08 67 views
0

我正在處理窗口中滾動條的數學邏輯。具體而言,我不知道變量是什麼意思。滾動條邏輯如下:滾動條範圍的值是多少?

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

現在,我想知道滾動條範圍是什麼。我知道滾動條的範圍。但我不知道這是如何幫助將其納入公式。因爲我們的範圍從[0 ... n]而不是單個值。我們有多個值0,1,2到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 

謝謝你們。

回答

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。因爲縮略圖的大小顯示可滾動區域中的相對頁面位置。

HTH