布局容器(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 則留言
Comments are closed.