GTK 缓冲区
来源:互联网 发布:淘宝刷単平台 编辑:程序博客网 时间:2024/06/10 18:50
转发http://blog.sina.com.cn/s/blog_712a04260101atmq.html
Gtk+ 学习笔记19 --文本框构件
(2013-04-13 22:31:03)it
分类: LinuxGtkTextView:代表了窗口中可见的文本框,用来显示GtkTextBuffer.
GtkTextBuffer:文本框正文的缓冲区,文本框文字的插入、删除都是对这一类变量进行操作。
GtkTextIter:保存文字在buffer中位置的结构。
GtkTextMark:A position in the buffer preserved across buffer modifications
GtkTextTag:用来给指定的文字添加一些标记,改变指定区域的文字的显示效果。如:字体的颜色、大小的改变。
GtkTextTagTable:是GtkTextTag标记的集合表。
创建文本框构件
GtkTextView 它代表了窗口可见的文本框,有两种方法创建文本框,1)用默认的缓冲区创建文本框,用函数gtk_text_view_new,2)指定缓冲区来创建文本框,用函数gtk_text_view_new_with_buffer。
gtk_text_view_new_with_buffer(GtkTextBuffer *buffer)
buffer来指定这个缓冲区,如果buffer为NULL,那功能和gtk_text_view_new函数一样。
创建文本框的缓冲区gtk_text_buffer_new(Gtk_Text_Tag_Table *table),它需要指定文件构件的标签盒,当然也可以为空,让系统创建默认的文件构件标签盒,然后用get_text_buffer_get_tag_table(GtkTextBuffer *buffer)函数来获得标签盒。
文本框文字的插入和删除
对文本框文字的插入和删除之前都需要得到当前buffer中开始位置,结束位置的ITER,用gtk_text_buffer_get_bounds(GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end),
缓冲区开始和结束位置的iter分别通过star和end参数得到。
之后就可以对文本框构件的正文进行操作了,gtk_text_buffer_insert(GtkTextBuffer *buffer, GtkTextIter *iter, const gchar *text ,gint len),向缓冲区插入文字。start,end分别为文本框文字开始位置和结束位置的iter,len是要插入文本的长度,可以是-1,表示插入text的所有内容。
gtk_text_buffer_delete(GtkTextBuffer *buffer, GtkTextIter *start, GtkTextIter *end)缓冲区内容删除。start,end分别为文本框文字开始位置和结束位置的iter。
文本框缓冲区文本的获得和设置
gtk_text_buffer_get_text(GtkTextBuffer *buffer,const GtkTextIter *start,const GtkTextIter *end,gboolean include_hidden_chars)来获得文本框缓冲区的文本;
gtk_text_buffer_set_text(GtkTextBuffer *buffer,const gchar *text,gint len)对文本框缓冲区文本进行设置。会删掉原有缓冲区内容,用text的内容代替。
这是一个例子:
#include
GtkWidget *window;
GtkWidget *view;
GtkTextBuffer *buffer;
GtkTextIter *iter;
GtkWidget *button;
GtkWidget *box;
GtkWidget *button2;
void button_event(GtkWidget *widget, gpointer *data);
void button_event2(GtkWidget *widget, gpointer *data);
int main(int argc, char* argv[])
{
}
void button_event(GtkWidget *widget,gpointer *data)
{
}
void button_event2(GtkWidget *widget, gpointer *data)
{
}
参考来源:
http://blog.csdn.net/byxdaz/article/details/3554003
- GTK 缓冲区
- gtk
- GTK+
- gtk.....
- GTK +
- GTK
- GTK+
- gtk
- gtk+
- gtk
- gtk
- GTK
- gtk
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- 缓冲区
- jQuery简洁大方的登录页面模板
- 前端调试错误
- Proposition 2.1(Post-Processing)
- 把文件夹开放所有权限
- RHCSA
- GTK 缓冲区
- spring <context:component-scan>使用说明(转)
- Oracle数据库文件坏块损坏的恢复方法
- DecimalFormat的主要功能及使用方法
- SolidWorks导入ADAMS动力学仿真
- 如何卸载oracle
- hint不生效怎么找原因
- 欢迎使用CSDN-markdown编辑器
- editplus快捷键