如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实用技市Gtk是用于实现图形用户接口的函数库。在Linux平台上,相关的函数声明捧障在gdk/gdk.h头文件井。每个教据结构的GuI(图形用户接口)使用的是称为x窗口(xwindo)的“私有敝本都包含一个封装啬勺x1数据结构,且这个数据结系统。x窗口系统是l984由美国麻省理工学院(MIT)开发构被传递到XDrawPoint()函数中.所以XDrawPoint()函数的的。在Liflux上使用的x窗口系统是一种称为XFree86的x{!匣文档也适用于Gdkdraw—point()函数本。x窗口系统与MicrosoftWindows的图形用户接口有所不同,它是摹于客户/服务器的x服务器在计算机上运行,控G矗Ⅲndow制监视嚣、鼠标和键盘。x客户通过网络与服务器通讯。x服务器为x客户提供图形显示掇务。GdkWindow是x1ib窗口对象的封装。一个5dkWind~代表也就是说.x客户和x服务器可能在同一台计算机上运行,屏幕上的一个区域,可以显示或瞄藏起来(在xlib里面称为映射也可能在不同的计算机上运行。x窗口系统带有一套低级的库函或反映射窗口),也可以捕获GdkWindow接收到的事件,还可以数,称为x1ibX1ib提供了许多对x窗口的屏幕进行操作的函在里面绘制图像,移动或调整图像的尺寸。GdkWindow是以树数。当然,使用X1ib函数在屏幕上创建构件是很复杂的。Gtk状结构组织的,也就是说,每一个窗口都可以有子窗口子窗要在屏幕上绘制各种构件.裁需要与x服务器打受道,但是nk口是相对于父窗口的位置定位的,当父窗口移动时,子窗口也提供的构件库并来直接使用xlib,而是使用了一个称为GDK的台移动。予窗口不会在父窗口边界外的区域绘出(也就是说,它库。6Dx的意思是GrDrawingToo1kit.亦卸GIMP绘图工们会被父窗口剪裁)。所谓GdkWindow窗口的树状组织并不是针具包。差不多每个GDK函数都是一个相应Xlib函数的封装。但对每个应用程序的,实际上有一十由x厦务器和窗口管理器控制是xlib的某些复杂性(和功能)被雎藏起来了。这样是为了简化的窗口的全局树根宦口没有父窗口.所有窗口都是从它派生编程使GDE更容易移植到其他窗口系统(有一十在Windows平而来的。作为桌面背景根窗口的全部或部分总是可见的。每台上的GDK版本)。被跆藏的Xlib功能一般是程序员极少用到个宙口都可以为不同的Linux进程所拥有.一些窗口是由窗口管的,例如.x1ib的许多特性只有窗口管理器才会用到,所以理器所创建的.还有一些来自于用户的应用程序。没有封装到GDK当中。如果需要,可以在应用程序中直接调用GdkWind和Gtkwindow是完全不同的东西。GtkWindow是x1ib函数,只要在文件头部包含Gdk/Gdkxh头文件就可以了一个Gtk+梅件,用于表示顶级(topleve1)窗口(顶级窗口是在窗口一般情况下.如果要创建普通的图形接口应用程序,使用层扶中由应用程序控制的最高级别的窗口)。典型情况下,窗口G~k鞔可以了Gtk+和Gnome构件库提供了极为丰富的构件,足管理器为硬级宦口创建各种装饰.包括标题条、关苻l按钮以及窗以构造非常复杂的用户界面。但是.如果需要开发新构件.或口外观等要理解x窗口首先要知道它是x服务器上的—个对象,者要创建绘图程序,仅使用Gtk就不够了这时可以采用X1ib,这一点根重要。x客户对每一个窗口获得一个独一无二的整数ID更好的方法是使用GDK库,它可以应付绝大多数的编程需要。如号,井用ID号码引用该窗口。这样,所有的窗口操怍都发生在果想了解GDK函数的实现细节(比如它对应于X1ib的哪一个函厦务器上.并且所有与x窗口打交道的函教都要通过阿络传输。数).可看一下GDK的源代码以确定它所封装的x1ib函数,GdkWi是由X返回的整鼓ID号的一个封装。它确实保存然后用ma力指令参看该函数的手册页。一些信息的本地拷贝(比如说窗口的尺寸}.所以一些GDK操作比实用技itt相应的XIib操作效率更高。还有,GdkWindow本质上是服务器员,这样可以让癌兴趣的成员保留缺省值。下面的函数列表端对象的一个句柄许多GDK对象都是相似的.字体、像素映简要概括了这些值没有attributesmask标志蚋成员_必须指射图片、鼠标光标等等也是服务器端对象的句椭定.固为它们没有缺省值Gdkwindow_new()函数最典型的是用在构件的实现中,用来GdgWtnd0H和QtgWtdget创建构件的Gdkindo。在其他场台下极少用到它。Gdkwindc~destroy0函数销毁GdkWindow窗口。许多GtkWidget子类都有一个