大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> 让图片无迹可寻

让图片无迹可寻

时间: 2021-07-31 作者:daque

步调员在开拓软硬件的功夫,往往须要很多图片来粉饰步调界面,东西栏,菜单等控件城市用到洪量的图片,依照惯例的本领,咱们普遍经过vb开拓情况径直导出须要的图片,如bmp或图标文献;如许做的长处是简单大略,但也带来了大幅度延长主实行文献巨细的烦恼。另一种本领是经过loadpicture因变量动静加载指定目次下的图片文献,但把图片文献和主步调一道颁布后很简单被误删。那么,有没有什么本领来提防那些情景的爆发呢?

 

       资源是指可供咱们运用的保存在计划机内的数据。囊括字符串资源、图标资源、游标资源、位图资源以及自设置资源(不妨是大肆典型的文献,如.exe、.doc等典型的文献)。资源文献则是指用来寄存百般资源的文献,资源文献源文献的扩充名为.rc,他是一个文本文献,运用任何文本编纂器都不妨编纂。经过资源编写翻译器编写翻译后的文献扩充名是.res,大略的说,这个.res文献能把一切指定的资源十足囊括进入,更局面一点,就像一个收缩文献囊括很多个文献夹或文献一律。

 

       vb6.0为咱们供给了一个特殊好用的东西——资源编纂器。该编纂器不须要咱们写.rc文献而经过一种更径直更和睦的可视化操纵实行资源的编纂,生存后会机动天生.res文献。

 

       资源文献天生后,咱们创造一个activex dll组件,并把该资源文献增添进入。而后,经过关系的因变量把资源导出供主步调挪用。

 

       底下是所有操纵进程。

1、  兴建一个activex dll工程,工程名为:prjpictureres

2、  顺序翻开:外接步调->外接步调处置器->vb6.0资源编纂器,双击,决定。此时,在东西栏上展示一个资源处置器的按钮。

3、  点击“vb资源编纂器”按钮,展示如次的资源编纂器窗口。

                                                 图1

4、  按图1所示,增添四个图标和一个位图,点击“生存”,将天生一个扩充名为.res的资源文献,咱们将该文献定名为myres.res。同声,工程资源处置器会展示一个“关系文书档案”的节点,如图2:

图2

5、  在类模块class第11中学,咱们写如次代码将相映的资源导出。

public function loadres(resid as integer, imgtype as integer) as ipicturedisp

    set loadres = loadrespicture(resid, imgtype)

让图片无迹可寻

end function

个中:参数resid为资源号,imgtype为图片典型(位图、图标或光标),这两个参数字传送入loadrespicture()因变量,底下,对loadrespicture()大略解说。

语法:

               loadrespicture(index as integer, format as integer) as ipicturedisp

参数:

        index: 必定的。一个平头或字符串,它用来指定资源文献中数据的操作符 (id) 。id操作符为 1 的资源保持给运用步调的图标。

format: 必定的。一个数值或常数,如次列“树立值”中所刻画的,指定归来数据的方法:            

   

              常数                                  值          刻画

              vbresbitmap                     0            位图资源

vbresicon                         1            图标资源

vbrescursor                      2            光标资源

6、  编写翻译成prjpictureres.dll文献。至此,activex dll文献仍旧实行。

7、  接下来做一个尝试工程,兴建一个exe工程,在窗体上放一个东西栏,用来表露.dll文献中的图标;一个imagelist控件;一个图像控件(image),用来表露.dll文献中的位图。界面如图3。

                                                               图3

8、  将方才实行的prjpictureres.dll组件经过“工程->援用”的本领介入到工程中。

9、  在窗体的load事变中写如次代码:

private sub form_load()

    dim objres as prjpictureres.class1

    set objres = new prjpictureres.class1

让图片无迹可寻

   

让图片无迹可寻

    dim aimage as listimage

   

    '树立图目标莫大和宽窄

    imagelist1.imageheight = 24

让图片无迹可寻

    imagelist1.imagewidth = 24

   

    '往图像列表控件中增添图标(101、102、103、104为资源编号,下同)

    set aimage = imagelist1.listimages.add(, , objres.loadres(101, vbresicon))

    set aimage = imagelist1.listimages.add(, , objres.loadres(102, vbresicon))

    set aimage = imagelist1.listimages.add(, , objres.loadres(103, vbresicon))

    set aimage = imagelist1.listimages.add(, , objres.loadres(104, vbresicon))

   

    '与东西栏关系

    set toolbar1.imagelist = imagelist1

   

    '增添东西栏按并树立图标

    dim abutton as button

    set abutton = toolbar1.buttons.add(, , "兴建", , 1)

    abutton.tooltiptext = "兴建"

    set abutton = toolbar1.buttons.add(, , "翻开", , 2)

    abutton.tooltiptext = "翻开"

    set abutton = toolbar1.buttons.add(, , "", tbrseparator)

    set abutton = toolbar1.buttons.add(, , "生存", , 3)

    abutton.tooltiptext = "生存"

    set abutton = toolbar1.buttons.add(, , "另存为", , 4)

    abutton.tooltiptext = "另存为..."

   

    '树立东西栏其余属性

    toolbar1.style = tbrflat '以flat情势表露

   

    '树立image1控件属性

    image1.stretch = true '图片自符合

   

    '将位图资源加载到image1控件中(105为资源编号)

    set image1.picture = objres.loadres(105, vbresbitmap)

    '开释资源

    set aimage = nothing

    set abutton = nothing

    set objres = nothing

end sub

 

至此,大功成功,一道来观赏一下咱们的最后大作(图4)。

 

 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.