可調整元件大致可以分為兩組:一組對這些值使用特定的單位,另一組將這些值當作任意數值。後一組包括範圍元件:捲軸、比例元件(scales)、進度顯示器以及微調按鈕(spin button)。這些元件的值都可以使用滑鼠和鍵盤直接進行調整。它們將調整物件的 lower和upper值當作用戶能夠操縱的調整值的範圍。在預設情況下,它們只會修改調整物件的value參數,也就是說,它們的範圍一般都是不變的。
另一組包含文字元件、視埠元件、復合式列表元件(compound list)以及捲動視窗元件。所有這些元件都是間接通過捲軸進行調整的。所有使用調整物件的元件都可以使用自己的調整物件,或者使用你創建的調整物件, 但是最好讓這一類元件都使用它們自己的調整物件。一般它們都對value以外的參數作了新的解釋,對這些值的解釋各個元件都有所不同,你需要閱讀它們的原始碼。
現在,你也許在想,文字元件和視埠元件裡的調整物件除了value參數以外,其他的參數都是由它們自己控制的,而捲軸就只修改調整物件的value參數,如果在捲軸和文字元件之間共享(share)調整物件,操縱捲軸會自動調整文字元件嗎?當然會,就像下面的程式碼所做的:
/* 視埠元件會自動為自己創建一個調整物件 */ viewport = gtk_viewport_new (NULL, NULL); /* 讓垂直捲軸使用視埠元件已經創建的調整物件 */ vscrollbar = gtk_vscrollbar_new (gtk_viewport_get_vadjustment (viewport)); |
1 則留言