分类: 嵌入式
2009-11-26 13:54:19
一、滚动窗口构件
滚动窗口构件(GtkScrolledWindow)用于创建一个可滚动区域,并将其他构件放入其中。可以在滚动窗口中插入任何其他构件,在其内部的构件不论尺寸大小都可以通过滚动条访问到。
1.
名称:: |
gtk_scrolled_window_new |
功能: |
创建滚动窗口构件 |
头文件: |
#include |
函数原形: |
GtkWidget *gtk_scrolled_window_new( GtkAdjustment *hadjustment, GtkAdjustment *vadjustment ); |
参数: |
hadjustment vadjustment |
返回值: |
新的滚动窗口构件 |
第一个参数是水平方向的调整对象,第二个参数是垂直方向的调整对象。它们总是设置为NULL。
2.
名称:: |
gtk_scrolled_window_set_policy |
功能: |
设置滚动条出现的方式 |
头文件: |
#include |
函数原形: |
void gtk_scrolled_window_set_policy( GtkScrolledWindow *scrooled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy ); |
参数: |
hscrollbar_policy 水平滚动条出现的方式 vscrollbar_policy 垂直滚动条的方式 |
返回值: |
无 |
滚动条的方式取值可以为GTK_POLICY_AUTOMATIC或GTK_POLICY_ALWAYS。当要求滚动条根据需要自动出现时,可设为GTK_POLICY_AUTOMATIC;若设为GTK_POLICY_ALWAYS,滚动条会一直出现在滚动窗口构件上。
3.
名称:: |
gtk_scrolled_window_add_with_viewport |
功能: |
将子构件添加到滚动窗口构件 |
头文件: |
#include |
函数原形: |
void gtk_scrolled_window_add_with_viewport(GtkScrolledWindow *scrolled_window, GtkWidget *child); |
参数: |
scrolled_window 滚动窗口构件 child 子构件 |
返回值: |
无 |
下面是滚动窗口构件的程序例子:
#include int main(int argc,char *argv[ ]) { GtkWidget *window; GtkWidget *scrolled; GtkWidget *text; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request(window,200,200); gtk_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL); scrolled=gtk_scrolled_window_new(NULL,NULL); /*创建滚动窗口构件*/ gtk_container_add(GTK_CONTAINER(window),scrolled);/*将滚动窗口构件加入窗体*/ gtk_widget_show(scrolled);/*显示滚动窗口构件*/ text=gtk_text_view_new();/*创建文本视图构件*/ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled),text);/*将文本视图构件加入滚动窗口*/ gtk_widget_show(text); gtk_widget_show(window); gtk_main(); } |
在上面的程序中我们用到了GtkTextView,关于GtkTextView我将在后面介绍。
程序运行后得到如下界面: