範圍元件(Range Widgets)這個種類,包含常見的捲軸元件(Scrollbar Widgets)和較少見的「比例」元件(Scale Widgets)。儘管這兩種元件是用於不同的目的,它們在功能和實現上都是非常相似的。所有範圍元件共用一套公用的圖形元素,每一個都有自己的 X 視窗,並能接收事件。它們都包含一個「滑槽(trough)」和一個「滾軸(slider)」(在一些其它GUI環境下又稱”拇指轉輪(thumbwheel)”)。 用滑鼠指標拖動滾軸可以在滑槽(trogh)中前後移動,在滾軸前後的滑槽中點擊,根據不同的滑鼠按鍵,滾軸就會向接近點擊處的方向移動一點,或完全到位,或移動特定的距離。
在前面的調整物件裡提到過,所有範圍元件都是與一個調整物件相關聯的。該物件會計算滾軸的長度和在滑槽中的位置。當用戶操縱滾軸時,範圍元件會改變調整物件的值。
捲軸元件 Scrollbar Widgets
這些都是標準的,到處被使用的捲軸(Scrollbar)。一般只用於滾動其它的元件,比如列表、文字元件,或視埠元件(在很多情況下使用捲動視窗元件更方便)。對其它目的,應該使用比例元件,因為它更友好,而且有更多的特性。
分別有水平和垂直捲軸兩種類型。實在不必對它們作說明。你用下面的函式創建捲軸:
GtkWidget *gtk_hscrollbar_new( GtkAdjustment *adjustment ); GtkWidget *gtk_vscrollbar_new( GtkAdjustment *adjustment ); |
這就是它們所有的相關函式(如果你不相信,去看一下它的標頭檔!)。adjustment參數可以是一個指向已有調整物件的指標或 NULL,當為NULL時會自動創建一個。如果希望將新創建的調整物件傳遞給其它元件的構建函式,例如文字元件的構建函式,在這種情況下指定NULL是很有用的。
1 則留言