分类: 嵌入式
2009-11-26 13:55:14
二、分栏窗口构件
分栏窗口构件(GtkPanedWindow)可以把窗口分为两部分,两部分的尺寸由用户控制,它们之间有一个凹槽,上面有一个把柄,用户可以拖动此手柄改变两部分的比例。
分栏窗口构件分为GtkHPaned(水平分栏窗口构件)和GtkVPaned(垂直分栏窗口构件)。其中水平分栏窗口构件用函数gtk_hpaned_new函数创建,垂直分栏窗口构件用gtk_vpaned_new函数创建。
4.
名称:: |
gtk_hpaned_new gtk_vpaned_new |
功能: |
创建分栏窗口构件 |
头文件: |
#include |
函数原形: |
GtkWidget *gtk_hpaned_new (void); /*水平分栏窗口构件* / GtkWidget *gtk_vpaned_new (void); /*垂直分栏窗口构件* / |
参数: |
无 |
返回值: |
新的分栏窗口构件 |
创建了分栏窗口构件后,可以在它的两边添加子构件。我们用gtk_hpaned_new
和gtk_vpaned_new函数完成这些功能。
5.
名称:: |
gtk_hpaned_new gtk_vpaned_new |
功能: |
创建分栏窗口构件 |
头文件: |
#include |
函数原形: |
GtkWidget *gtk_hpaned_new (void); /*水平分栏窗口构件* / GtkWidget *gtk_vpaned_new (void); /*垂直分栏窗口构件* / |
参数: |
无 |
返回值: |
新的分栏窗口构件 |
gtk_paned_add1() 将子构件添加到分栏窗口构件的左边或顶部。gtk_paned_add2() 将子构件添加到分栏窗口构件的右边或下部。
6.
名称:: |
gtk_paned_set_handle_size |
功能: |
设置分栏构件的手柄尺寸 |
头文件: |
#include |
函数原形: |
void gtk_paned_set_handle_size( GtkPaned *paned,guint16 size); |
参数: |
paned 分栏窗口构件 size 手柄尺寸 |
返回值: |
无 |
7.
名称:: |
gtk_paned_set_gutter_size |
功能: |
设置两部分之间的凹槽的尺寸 |
头文件: |
#include |
函数原形: |
void gtk_paned_set_gutter_size( GtkPaned *paned,guint16 size); |
参数: |
paned 分栏窗口构件 size 凹槽的尺寸 |
返回值: |
无 |
下面我们结合滚动窗口,在分栏构件窗口两面分别加入一个分栏窗口。
#include int main(int argc,char *argv[ ]) { GtkWidget *window; GtkWidget *scrolled; GtkWidget *text; GtkWidget *paned; 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); paned=gtk_hpaned_new();/*创建纵向分栏窗口构件*/ gtk_container_add(GTK_CONTAINER(window),paned);/*将分栏窗口构件加入窗体*/ gtk_widget_show(paned); scrolled=gtk_scrolled_windwo_new(NULL,NULL);/*创建滚动窗口构件*/ gtk_paned_add1(GTK_PANED(paned),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); scrolled=gtk_scrolled_windwo_new(NULL,NULL); gtk_paned_add2(GTK_PANED(paned),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(windwo); gtk_main(); } |
程序运行后得到如下窗体: