打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
GTK:创建文本框
文本框也叫多行文本输入框,是gtk+较常用的构件,也是较复杂的一个构件。它被分为以下几部分:
GtkTextView:代表了窗口中可见的文本框,用来显示GtkTextBuffer.
GtkTextBuffer:文本框正文的缓冲区,文本框文字的插入、删除都是对这一类变量进行操作。
GtkTextIter:保存文字在buffer中位置的结构。
GtkTextMark:A position in the buffer preserved across buffer modifications
GtkTextTag:用来给指定的文字添加一些标记,改变指定区域的文字的显示效果。如:字体的颜色、大小的改变。
GtkTextTagTable:是GtkTextTag标记的集合表。
一、创建文本框构件
GtkTextView,它代表了窗口中可见的文本框,如果只是简单使用基本用不到除了创建以外的函数。有两种方法可以创建文本框。一种是用默认的缓冲区创建文本框,用函数gtk_text_view_new。另一种是指定缓冲区来创建文本框,用函数gtk_text_view_new_with_buffer。
1.
名称::
gtk_text_view_new
功能:
创建文本框构件
头文件:
#include <gtk/gtk.h>
函数原形:
GtkWidget *gtk_text_view_new(void);
参数:
返回值:
新的文本框构件
gtk_text_view_new创建一个新的缓冲区,如果你没有在创建之前调用函数gtk_text_view_set_buffer来设置这个缓冲区,那么系统将创建一个空的默认的缓冲区,我们可以用gtk_text_view_get_buffer来得到这个缓冲区。如果你用你自己的缓冲区来创建文本框可以用gtk_text_view_new_with_buffer.
2.
名称::
gtk_text_view_new_with_buffer
功能:
创建树构件
头文件:
#include <gtk/gtk.h>
函数原形:
GtkWidget *gtk_text_view_new_with_buffer(GtkTextBuffer *buffer);
参数:
buffer    缓冲区
返回值:
新的文本框构件
gtk_text_view_new_with_buffer用指定的缓冲区创建一个新的文本框,我们用buffer来指定这个缓冲区,一个缓冲区能够被许多的构件共享。buffer可以为NULL,功能和gtk_text_view_new函数一样。
3.
名称::
gtk_text_view_set_buffer
功能:
设置文本框的缓冲区
头文件:
#include <gtk/gtk.h>
函数原形:
void gtk_text_view_set_buffer(GtkTextView *text_view,GtkTextBuffer *buffer);
参数:
text_view     文本框
buffer        缓冲区
返回值:
4.
名称::
gtk_text_view_get_buffer
功能:
获得文本框的缓冲区
头文件:
#include <gtk/gtk.h>
函数原形:
GtkTextBuffer* gtk_text_view_get_buffer (GtkTextView *text_view);
参数:
text_view     文本框
返回值:
文本框缓冲区
我们可以用gtk_text_view_new创建默认缓冲区的文本框,用gtk_text_view_get_buffer来得到这个缓冲区。下面就是程序例子。
#include <gtk/gtk.h>
int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *text_view;
GtkTextBuffer *buffer;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request(window,200,150);
g_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL);
text_view=gtk_text_view_new();/*创建文本框构件*/
buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view));/*获得文本框缓冲区*/
gtk_container_add(GTK_CONTAINER(window),text_view);
gtk_widget_show(view);
gtk_widget_show(window);
gtk_main();
}
程序运行后得到如下界面:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Android 显示原理简介
11 《高效学习OpenGL》之清除窗口 glClearColor()与glClear()
Sublime插件API手册
ArcGIS Engine+C#缓冲区分析文档及完整源码
fsetpos()详解
GtkTreeView 用法详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服