摘要本文用编写一个在中调用,以解决开发中界面简单的问题。关键字。
引言是一个快速的数据库前端开发软件,在数据库开发中占有很高的地位。
它以开发速度快见长,但界面简单是它的一个缺点。是一个功能强大的开发工具,在很多最新传奇的方面都有应用,但是它的开发周期长,成本高却是一个不足之处。本文将结合它们的长处,通过的编程,为的界面画上不同格式的图片。中一直有一个问题:在界面中是不可以直接设置窗背景的。
目前常用的解决方案有两种:一种方案是在一个子窗中放置一个图片控件,同主窗一起打开,并使其不可以激活。但是这样,当子窗在最小化的时候变得不可以见(被图片窗遮住),使得窗不可以再最大化,用户的操作很不方便。
另外一个方案是在程序中调用函数,直接在主窗中绘制图片。这样虽然可以解决问题,但是一般只可以绘制类型的图片。相对于和文件,占用的资源要大一些,每次重绘速度很慢。具体实现工程:用做一个,在其中封装对不同图片的操作,在中直接调用。
这样一来,在中就很简单了。只是需要几个函数的调用,就可以完成在窗中绘制图片的任务了。具体的实现方案:1.在中新建一个的工程,工程名称为,点击确定。在11的窗中选择,在下面的复选框前打上勾。
点击完成。2.新建一种资源,以便将和文件导人游戏资料。点击“插入”菜单中“资源”项。在弹出的“插入资源”对话框中点击“定制”按钮,取名为“:。再将要显示的图片文件导入到类型的资源中。
3.在工程中添加一个'0,选择对象加入到工程中。在锄的编辑框中为添加的命名为融,在中确定血中选择的是,因为只支持接.这样工程新建的工作就完成了,开始囵编码了。4.在类中添加私有成员:女:操作,类型图片的接引:图片的句柄并在构造函数中初始化)(=:?=:5.为类添加成员函数和对外暴露的接。成员函数为:《半):||《4):(,):(,)::):接方法有:(水]丰,木水,水水):||):(木木|):)(,木半,丰水,冰]术):(卓牢,水术):6.具体的实现函数和接。函数作用:从白带的文件中装载其它类型的图片㈠)¨文件的路径执行成功返回执行失败返回::|(木)(4::刚¨::(!.(|,::))(×(”文件打开时出错!”)::!.,))((”查看文件状态时出错!”)::)(《=|.)==一1)×(”文件大小疑问!”)::)=¨(』卅0,:《==)(×(”分配内存时出错!”):伯:)=:=(”:《==)(×(”锁定内存时出错!”)::|.,):(”:¨):((,)!=)×(”创建流时出错!”)::(一邢-!=)一>:创建-接,使用它操作等类型的图片《,.?,本网游这一点真不错||-,)-)))(×(”从流中装载图像失败!”);:):函数作用:从自带的文件中装载类型的图片剐文件的路径执行成功返回执行失败返回倒::|(+)-!=)((上):装载图片?=),?,0,0,』?):(.==)(”装载文件时出错!”):::函数作用:从自带的资源中装载其它类型的图片(酣,)在资源中定制一种类型的资源,用它导入和文件资源编号执行成功返回执行失败返回:::丁=:术=:=,””):.(==)《”没有找到制定的资源!”)::=《,):==)(”装载资源时出错!”::):阡(==)×《”资源加锁时出错!”):::=(×,):.(==)(×(”锁定资源时出错!”)::=||(?,):(==)(”分配内存时出错!”)::)水=10:将装载的资源复制到自己分配的一块内存中,)::4=:.(一>!=)一>《):在复制内存上创建流,通过它将图片读入-中.汗(《.,)!=)×《”创建流时出错!”)::(《(,?,)))((”装载流时出错!”):伯:)一>:=:))):《):)::函数作用:从自带的资源中装载类型的图片资源编号匝7执行成功返回执行失败返回倒::(:伯=;水=):=(,1『二):(==)(“没有找到制定的资源!”)::)(!=):)=《,):(==)(”装载位图资源时出错!”):::)函数作用:在指定的窗中显示型的图片要显示图片的窗甸柄图片要显示位置的×座标图片要显示位置的座标执行成功返回执行失败返回倒::(,)《==):|:.《!(,))(”得不到窗的客户区大小!”)::):《!.)”得不到窗的设备描述表!”)::(==)(硝(,位图不在内存中昨,请先装载”)::)+=::(上):-(==)(”不能创建类新游戏!”):|:创建与目的描述表相兼容的描述表:.:0:=:(==)×(”不能将图片选入设备描述表!”)::将内存描述中的图片传到目的描述表中((.,?.,』,0,)==)囵:.:[:)函数作用:在指定的窗中显示其它类型的图片要显示图片的窗句柄×图片要显示位置的×座标图片要显示位置的座标成功返回失败返回::(,)==):州==)×(”图片不在内存中,请先装载!”)::):(!.)(”得不到窗的设备描述表!”)::)获得图片的高度,宽度::一>?:-一>?:,:×=.半(《).水100.):=《).半).)术100.):((|一>,(,)×,),一,)))>((”渲染图像失败!”)::):7.对外接所包含方法的实现过程。对外接中的方法作用:从外部的文件中装载图片¨是文件的路径::×《)::『:¨剐:!.(?,::))(”文件打开时出错!”)::取出文件的后缀名称,判断它的类型,用相应的函数装载=..3):刚.)真不错的网游:.《):《;==””(《)?):(::)对外接中的方法作用:从自带的资源中装载图片是资源的编号(编号的值可以在.文件中查看图片的具体编号如2208表明,2的标号值208)资源的类型,有型包括图片,值取0有其它型包括,等,值取1|::(,)×(《)):『::(==0)(=:)(==1=:(==)?0::)对外接中的方法作用:释放所有的图片空间::|)0:1:0:对外的接作用:在指定的窗中显示图片要显示图片的窗句柄×图片要显示位置的×座标图片要显示位置的座标要显示图片类型,有型包括图片,值取0有其它型包括,等,值取1::(10,)×(×|)0:汁州×<|<):(==)!刚),¨:《::1)川!,))::)对外的接作用:在指定的窗中显示图片要显示图片的窗的类型名称要显示图片的窗的标题名称图片要显示位置的座标图片要显示位置的座标要显示图片类型,有型包括图片,值取0有其它型包括,等,值取1::-,|,×,(川?:引汁(×<0||<):寻找指定的窗句柄?』(,?::=(《)?,(?):(==)×(”找不到制定的窗!”)::)(==)(!(,)):(==1(!((,×.)):0:)整个的树型结构如下:对外只是暴露5个操作方法,通过相应的图片类型参数分别调用相应的函数来处理。通过装载?显示?释放的过程囚来显示图片。编译,注册后就可以使用这个了。
中的调用的方法:为了说明几种调用的方法,我建立了两个的窗,在一个(』)窗中绘制外部文件中的图片,在另一个(2)窗中绘制资源中的图片。1.在中建立~个名称为的应用。2.在应用中的代码如下:声明两个类型的全局变量名称为,-2。“”事件中写如下代码:==.(”.”)(<>0)《~,”创建对象失败”)2==2.(”.”)《<>)~,”创建对象失败”)装载外部的图片文件.”:?931.”).|(”:.”)装载¨中的图片资源208是文件,201是文件2(208,1)2.《201,)(』2、,-111)“”事件中写如下代码:释放内存中的所有图片资源1.|2.断开所有的连接=1.)(<>)(~,”释放时出错!”).=2..(<>)×(~,”释放时出错!”).绘制图片的时机有两种方案。一种是在不同的情况下重绘囵图片(在主窗的事件、事件和子窗中2和事件中都要重绘图片),这样当主窗不是激活的日候,程序就不可以重绘了。
如珊就是这样实现的。乡外一种是使用定时器隔一段时间就绘制一次,这种方案,码简单,使用方便,效果也好,但是系统的开销要大一些。
女Ⅵ2是这样实现的。首先看』?的实现代码(其中也要用到定时器):在消息中加入如下的代码:获得窗句柄=(.)在两个不同的地方绘制不同类型的图片.,80,10,)(,300,1,1)取消定时器在消息中加入如下的代码:.1秒后重绘(.1)在消息中加入如下的代码:1秒后重绘,1)为什么不直接在消息中绘制。因为在中,当瑚消相应的时候,如果在这个消息中重绘的话,接着自己又|重绘一次,造成图片被抹去,出现一闪而过的情况,所以用时器等重绘以后,再画图片,才有效果。
接着在子窗中(类型是型)的实现代码。在消息中加如下的代码:向父窗投递消息?-1.””)在消息中加如下的代码,向父窗投递消息岬1.””)接着看第二种相对于上面来说,代码就简单多了。在啦在消息中加如下的代码:隔一段时间就重绘一次=(.?1)2.(,80,10,1)2.(,300,10,0).在消息中加如下的代码:启动定时器.5)在消息中加如下的代码:关闭定时器(0)这样每隔0.5秒,自动重绘窗一、引言随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包括一些图片和音像资料或者是超长的文本。比如开发一套旅游信息系统,每一个景点都有丰富的图片、音像资料和大量的文字介绍。这就要求后台数据库要有存储这些数据的能力。0公司在其08中通过提供字段实现了该功能技术支持。为了便于读者的理解,我们先介绍一些基本的概念:在0数据库中,(0一大对象)是用来存储大量的二进制和文本数据的一种数据类型(一个字段可存储可多达4的数据)。目前,它又分为两种类型:内部和外部。内部将数据以字节流的形式存储在数据库的内部。因而,内部的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作。08支持三种类型的内部:(二进制数据)、(单字节字符数据)、(多字节国家字符数据)。其中和类型适用于存储超长的文本数据,字段适用于存储大量的二进制数据,如图像、视频、音频等。目前,8只支持一种外部类型,即类型。在数据库内,该类型仅存储数据在操作系统中的位置信息,而数据的实体以外部文件的形式存在于操作系统的文件系统中。
因而,该类型所表示的数据是只读的,不参与事务。该类型可帮助用户管理大量的由外部程序访问的文件。为了方便下文的叙述,我们假定使用如下语句在数据库中创建了一张表。0《《),、,|,...)):二、的使用和维护提供了多种使用和维护的方式,如使用上包、调用0(0血)、使用+++、使用等。
其中最为方便有效的是使用调用上0包,本文就将介绍该方法。
在0中,存储在中数据称为的值,如使用对某一宇段进行选择,则返回的不是的值,而是该字段的定位器(可以理解为指向值的指针)。
如执行如下的语句:-:-?-=100::,存储在0变量中的就是定位器,而不是的值。而要对某一的值进行访热血传奇游戏问和维护操作,必需通过其定位器来进行。包中提供的所有函数和过程都以定位器作为参数。1.内部咀0包中主要提供了以下几个过程供用户对内部字段进行维护。将源中的内容加到目的中从源中复制数据到目的(3),砖瞰瞰缄缄缄鲥缄?曼.瞰撤曼?“瞰缄瞰缄瞰量?““缄缄缄撤缄铽撤缄缄撤城撤缄缄瞰瞰鲥缄瞰纵缄瞰蹦曼本文用的0为提供强大的服务,为其界面添图片。
其中重要讲到了背景的绘制,其实功能远不止这些。只要将中的和两个函数中的就可以绘制漂亮的界面了。结合和,使其相互补充,发挥各自的长处,就可以完成一些复杂的功能了。程序在98、++6.0和7.下运行成功。类换成类,并正确地初始化,在中将(收稿日期:=(.)改为=(11),这样可以在窗的任何地方绘制图片,甚至是标题栏菜单栏上。这样2002年6月17日)目用++装扮程序作者:蔡岭作者单位:刊名:电脑编程技巧与维护英文刊名:年,卷(期):2002(9)。
上一篇:道士学者李明彻
下一篇:国外游戏治疗的发展和应用
Email: cz95@cz95.com ; 联系客服:15822478812