分类: 嵌入式
2009-11-26 13:58:19
6.
名称:: |
gtk_clist_set_column_widget |
功能: |
为标题按钮设置构件 |
头文件: |
#include |
函数原形: |
gtk_clist_set_column_twidget(GtkCList *clist,gint column,GtkWidget *widget); |
参数: |
clist 分栏列表构件 column 列标题编号 widget 要设置的构件 |
返回值: |
无 |
下面我们来看看上面几个函数的作用:
#include int main(int argc,char *argv[ ]) { GtkWidget *window; GtkWidget *clist; GtkWidget *image; gtk_init(&argc,&argv); window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_signal_connect(GTK_OBJECT(window),”delete_event”,GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_widget_set_size_request(window,200,150); gtk_container_set_border_width(GTK_CONTAINER(window),10); clist=gtk_clist_new(3); gtk_clist_set_column_title(GTK_CLIST(clist),0,”姓名”); gtk_clist_set_column_title(GTK_CLIST(clist),1,”姓别”); gtk_clist_set_column_title(GTK_CLIST(clist),2,”年龄”); gtk_clist_column_title_passive(GTK_CLIST(clist),1);/*设置编号为1的列标题为不活动的列标题*/ image=gtk_image_new_from_file(“ gtk_clist_set_column_widget(GTK_CLIST(clist),0,image);/*设置标题按钮构件*/ gtk_clist_column_titles_show(GTK_CLIST(clist)); gtk_container_add(GTK_CONTAINER(window),clist); gtk_widget_show(clist); gtk_widget_show(window); gtk_main(); } |
运行上面程序得到如下界面:
我们还可以用gtk_clist_set_shadow_type来设置分栏列表构件的边框类型。
7.
名称:: |
gtk_clist_set_shadow_type |
功能: |
设置分栏列表构件的边框类型 |
头文件: |
#include |
函数原形: |
gtk_clist_set_shadow_type(GtkCList *clist,GtkShadowType border); |
参数: |
clist 分栏列表构件 border 边框类型 |
返回值: |
无 |
边框类型可以取下面的值:
GTK_SHADOW_NONE
GTK_SHADOW_IN
GTK_SHADOW_OUT
GTK_SHADOW_ETCHED_IN
GTK_SHADOW_ETCHED_OUT
二、向列表中添加/删除行
可以用三种方法添加行。即在前面、后面和指定位子加入行。
8.
名称:: |
gtk_clist_prepend gtk_clist_append gtk_clist_insert |
功能: |
向列表中添加行 |
头文件: |
#include |
函数原形: |
gtk_clist_prepend(GtkCList *clist, gchar *text[ ]); gtk_clist_append(GtkCList *clist, gchar *text[ ]); gtk_clist_insert(GtkCList *clist, gint row, gchar text[ ]); |
参数: |
clist 分栏列表构件 row 列标题编号 text 文本数组 |
返回值: |
无 |
有两种方式在列表中删除行,gtk_clist_remove可以删除指定的行,gtk_clist_clear可以删除所有的行。
9.
名称:: |
gtk_clist_remove gtk_clist_clear |
功能: |
向列表中添加/删除行 |
头文件: |
#include |
函数原形: |
gtk_clist_remove(GtkCList *clist, gint row); gtk_clist_clear(GtkCList *clist); |
参数: |
clist 分栏列表件 row 行编号 |
返回值: |
无 |
还有两个很方便的函数可以用在当列表中要发生很大变化时。因为GtkCList在发生变化时要重绘自身,所以当列表中内容变化较大时,频繁重绘会让屏幕不停闪烁。最好的办法是先将列表“冻结”,然后更新列表,最后将其“解冻”。