佈局容器(The Layout container)與固定容器(the Fixed container)類似,不過它可以在一個無限的捲動區域定位元件(其實也不能大於2^32像素)。在X系統中,視窗的寬度和高度只能限於在32767 像素以內。佈局容器元件使用一些特殊的技巧(doing some exotic stuff using window and bit gravities)越過這種限制。所以,即使在捲動區域你有很多子元件,也可以平滑地捲動。
用以下函式創建佈局容器:
GtkWidget *gtk_layout_new( GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment );
|
可以看到,你可以有選擇地指定佈局容器捲動時要使用的調整物件。
你可以用下面的兩個函式在佈局容器元件裡添加和移動元件。
void gtk_layout_put( GtkLayout *layout,
GtkWidget *widget,
gint x,
gint y );
void gtk_layout_move( GtkLayout *layout,
GtkWidget *widget,
gint x,
gint y );
|
佈局容器元件的尺寸可以用接下來的這個函式指定:
void gtk_layout_set_size( GtkLayout *layout,
guint width,
guint height );
|
最後4個函式用於操縱垂直和水平的調整物件。
GtkAdjustment* gtk_layout_get_hadjustment( GtkLayout *layout );
GtkAdjustment* gtk_layout_get_vadjustment( GtkLayout *layout );
void gtk_layout_set_hadjustment( GtkLayout *layout,
GtkAdjustment *adjustment );
void gtk_layout_set_vadjustment( GtkLayout *layout,
GtkAdjustment *adjustment);
|
1 則留言