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

來源:互聯網
上載者:User

標籤:修改   pagedown   bar   window   箭頭   page   字型大小   組件   自己的   

捲軸組件(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:使用者操作捲軸後釋放了滑鼠或按鍵。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.