一般很少直接使用视角(Viewport)控件。多数情况下是使用滚动窗口控件,因为滚动窗口控件的内部已经使用了视角。
视角控件允许在其中放置一个超过自身大小的控件,这样你可以一次看控件的一部分。它用调整对象定义当前显示的区域。
用下面的函数创建一个视角。
GtkWidget *gtk_viewport_new( GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment );
可以看到,创建控件时能够指定控件使用的水平和垂直调整对象。如果给函数传递 NULL 参数,控件会自己创建调整对象。
创建控件后,可以用下面四个函数取得和设置它的调整对象:
GtkAdjustment *gtk_viewport_get_hadjustment (GtkViewport *viewport );
GtkAdjustment *gtk_viewport_get_vadjustment (GtkViewport *viewport );
void gtk_viewport_set_hadjustment( GtkViewport *viewport,
GtkAdjustment *adjustment );
void gtk_viewport_set_vadjustment( GtkViewport *viewport,
GtkAdjustment *adjustment );
剩下的这个函数用于改变视角的外观:
void gtk_viewport_set_shadow_type( GtkViewport *viewport,
GtkShadowType type );
type参数可以取以下值:
GTK_SHADOW_NONE,
GTK_SHADOW_IN,
GTK_SHADOW_OUT,
GTK_SHADOW_ETCHED_IN,
GTK_SHADOW_ETCHED_OUT