Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465640
  • 博文数量: 88
  • 博客积分: 1677
  • 博客等级: 上尉
  • 技术积分: 667
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-03 22:17
文章分类

全部博文(88)

文章存档

2013年(1)

2012年(18)

2011年(69)

分类: 嵌入式

2011-11-25 16:58:56

调整对象不是构件,但它能够为范围构件(比如滚动条、比例构件和滚动窗口)存储配置参数和值。而且,因为调整对象是从GtkObject派生的,因此它们能够引发信号

1 调整对象的创建

    许多使用调整对象的构件能够自动创建它,但是有些情况下,必须自己手工创建。用下面的函数创建调整对象:
    GtkObject* gtk_adjustment_new(gfloat value,gfloat lower,gfloat upper,gfloat step_increment,gfloat page_increment,gfloat page_size)

  1. value为调整对象的初始值
  2. lower为调整对象能取的最小值
  3. upper为用于表示分栏构件的最底部或最右边的坐标。因此,它不一定总是“value”能取的最大值,因为构件的“page_size”值通常是非零值
  4. step_increment为用户最小步增加值
  5. page_increment为用户翻页后调整对象增加的值
  6. page_size通常用来表示分栏构件的可视区域

2 调整对象的使用

    有两种可调整的构件:

  1. 第一种可调整构件只会改变调整对象的值,也就是说,它们的范围一般是不变的(例如:滚动条、比例构件、进度条以及微调按钮)
  2. 第二种可调整构件不仅会改变调整对象的值,而且构件的范围也会发生改变(构件会向下滚动)(例如:文本构件、视图构件以及滚动窗口构件,它们都是间接通过滚动条进行调整的)。这类可调整构件一般有自己的调整对象,因此最好不使用自己创建的调整构件来操作它们。

    如果让在滚动条和文本构件之间共享调整对象,则操纵滚动条时就会自动调整文本构件了。其它构件的使用方法和这差不多,都是通过共享构件来实现的。


==========================================================
创建调整对象
text=gtk_text_new(NULL,NULL);
使用text构件的“垂直滚动条调整对象”来创建垂直滚动条
vscrollbar=gtk_vscrollbar_new(GTK_TEXT(text)->vadj);
==========================================================

3 调整对象的内部机制

3.1 结构定义


struct _GtkAdjustment
{
   GtkData data;
   gfloat lower;
   gfloat upper;
   gfloat value;
   gfloat step_increment;
   gfloat page_increment;
   gfloat page_size;
};

3.2 操作

gtk_adjustment_set_value:改变调整对象的值


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