分类: 嵌入式
2009-11-26 13:34:11
三、固定容器构件
GtkFixed(固定容器构件)允许将构件放在窗口的固定位置,这个位置是相对与窗口的左上角的。构件的位置可以动态改变。
使用GtkFixed为构件定位,在大多数情况下都是不可取的。因为当用户调整窗口尺寸时,勾结不能适应窗口的尺寸变化。当然,你可以在窗口尺寸变化的时候采取行动,调整构件的位置和大小。
gtk_fixed_new函数用于创建新的固定容器构件。
6.
名称:: |
gtk_fixed_new |
功能: |
创建固定容器构件 |
头文件: |
#include |
函数原形: |
GtiWidget *gtk_fixed_new(void); |
参数: |
无 |
返回值: |
新的固定容器构件 |
gtk_fixed_put函数将构件放在由x,y指定的位置。
7.
名称:: |
gtk_fixed_put |
功能: |
将构件放入固定容器构件的指定位置 |
头文件: |
#include |
函数原形: |
void gtk_fixed_put(GtkFixed *fixed,GtkWidget *widget,gint16 x,gint16 y); |
参数: |
fixed 固定容器容器构件 widget 要放在固定容器构件中的构件 x 放置的横坐标 y 放置的纵坐标 |
返回值: |
无 |
gtk_fixed_move函数将指定构件移动到新位置。
8.
名称:: |
gtk_fixed_move |
功能: |
移动固定容器构件里的构件到指定位子 |
头文件: |
#include |
函数原形: |
void gtk_fixed_move(GtkFixed *fixed,GtkWidget *widget,gint16 x,gint16 y); |
参数: |
fixed 固定容器构件 widget 要放在固定容器构件中的构件 x 放置的横坐标 y 放置的纵坐标 |
返回值: |
无 |
下面是固定构件的程序例子:
#include GtkWidget *window;/*定义窗体*/ GtkWidget *fixed;/*定义固定容器构件*/ GtkWidget *button;/*定义按钮*/ gint function(gpointer data); gpointer data; gint sign; int x=0; int y=0; int main(int argc,char *argv[ ]) { gtk_init(&argc,&argv);/*初始化*/ window=gtk_window_new(GTK_WINDOW_TOPLEVEL);/*创建窗体*/ gtk_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL); fixed=gtk_fixed_new();/*创建固定容器构件*/ button=gtk_button_new_with_label(“button”);/*创建按钮*/ gtk_fixed_put(GTK_FIXED(fixed),button,10,10);/*将按纽放在固定容器构件的指定位置*/ sign=g_timeout_add(600,function,data);/*创建定时器*/ gtk_container_add(GTK_CONTAINER(window),fixed);/*把固定容器构件放入窗体*/ gtk_widget_show(fixed); gtk_widget_show(button); gtk_widget_show(window); gtk_main(); } gint function(gpointer data) { gtk_fixed_move(GTK_FIXED(fixed),button,++x,++y);/*移动按纽*/ return TRUE; } |
程序运行后得到如下的窗体:
窗体每隔600毫秒便会扩大一次。