Delphi TScrollBar 用於滾動窗口、組件內容


滾動條組件(TScrollBar)此組件是一個Windows滾動條,用於滾動窗口、組件內容。許多控制有滾動條屬性,它們把滾動條作為自己的一部分,對於沒有完整滾動條的控制,TScrollBar組件提供了一個附加的功能,運用它可以使某些控制的內容易於操作。 

1、TScrollBar組件的典型用法

一般情況下,滾動條是自動加入的,例如前面講的列表框,當項目不能完全顯示時,列表框將自動加上滾動條。當用戶操作滾動條時,列表自動滾動。

如果想自己操縱窗口滾動,就要用到TScrollBar組件,當用戶在滾動條上操作時,將觸發OnScroll事件,這樣就可以操縱怎樣滾動了。

在通常情況下,用戶只利用OnScroll事件,並在代碼中引用Position屬性,獲取TScrollBar組件中小方塊的位置,然后利用此值進行操作,例如設置文字的字號大小、顏色的取值等。 

2、TScrollBar組件的重要屬性 

Kind---------此屬性用於設置滾動條是水平方向的還是垂直方向的 
LargeChange--設置滾動條滾動的距離

Max------------此屬性用於設置滾動條的最終值 
Min------------此屬性用於設置滾動條的起始值 
PageSize-------當按PgUp或PgDn鍵時,設置滾動條滾動的距離Position設置或返回滾動條中小方塊的位置 
SmallChange----用戶按下滾動條兩端的箭頭時滾動條滾動的距離

(1)Kind屬性 
Kind屬性用於設置滾動條是水平方向的還是垂直方向。它有兩個取值: 
. sbHorrizontal:水平方向; 
. sbVertical:垂直方向。

(2)LargeChange屬性
當用戶單擊滾動條內(不是滾動條兩端的箭頭)時,滾動條滾動的距離是由LargeChange屬性設置的,默認是 
1,這是一個相對數。假設LargeChange屬性設為10,如果Max屬性減去Min屬性為80,則用戶只要按8次滾動條就能從一端滾到另一端。

(3)Max屬性和Min屬性
這兩個屬性分別用來設置滾動條的最終值和起始值,它們的取值在-2147483648和2147483647之間。 
Max屬性取值必須大於Min屬性,並且必須為0或正整數。

(4)PageSize屬性
當用戶按PgUp或PgDn鍵時,滾動條滾動的距離是由PageSize屬性設置的,默認是1。

(5)Position屬性 
Position屬性用於設置或返回滾動條中小方塊的位置,可以在設計期設置Position屬性指定的小方塊的起始位置,也可以在運行期修改Position屬性使滾動條滾動。

(6)SmallChange屬性 
SmallChange屬性與LargeChange屬性相似,不同的是,它是用戶按滾動條兩端的箭頭時滾動條滾動的距離,默認值是1。 

3、TScrollBar組件的重要事件

OnChange-------------用戶操作滾動條或者通過編程直接修改 
Position-------------屬性的值,都會觸發該事件 
OnScroll-------------當用戶操作滾動條時將觸發這個事件

(1)OnChange事件
用戶操作滾動條或者通過編程直接修改Position屬性的值,都會觸發該事件。 
OnScroll事件只在用戶操作滾動條時才會發生,OnChange事件發生在OnScroll事件之后。

(2)OnScroll事件
當用戶操作滾動條時將觸發這個事件。其中ScrollPos參數返回滾動條中小方塊的位置ScrollCode參數返回滾動條的狀態。可以是以下各值。
. scLineUp:用戶按下滾動條的左或上箭頭或者鍵盤上的向上方向鍵。 
. scLineDown:用戶按下滾動條的右或下箭頭或者鍵盤上的向下方向鍵。 
. scPageUp:用戶單擊滾動條內小方塊左邊或上邊的區域或者按下PgUp鍵。 
. scPageDown:用戶單擊滾動條內小方塊右邊或下邊的區域或者按下PgDn鍵。 
. scPosition:用戶在滾動條內拖拽小方塊並且已釋放。 
. scTrack:用戶正在拖拽小方塊。 
. scTop:用戶把小方塊移到滾動條的上端或左端。 
. scBottom:用戶把小方塊移到滾動條的下端或右端。 
. scEndScroll:用戶操作滾動條后釋放了鼠標或按鍵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM