Chinaunix首页 | 论坛 | 博客
  • 博客访问: 637621
  • 博文数量: 237
  • 博客积分: 4285
  • 博客等级: 上校
  • 技术积分: 2701
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-15 14:05
文章分类

全部博文(237)

文章存档

2014年(2)

2013年(3)

2012年(47)

2011年(15)

2010年(68)

2009年(102)

我的朋友

分类: 嵌入式

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(“1”); /*创建图片构件,大家可以把参数改为自己的图片文件名*/

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在发生变化时要重绘自身,所以当列表中内容变化较大时,频繁重绘会让屏幕不停闪烁。最好的办法是先将列表“冻结”,然后更新列表,最后将其“解冻”。

 

阅读(1135) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~