视角 Viewports

一般很少直接使用视角(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