当前位置:编程学习 > VB >>

送分100分:窗体PICTURE属性中加载的图片,在打包时,要不要再包含在打包文件中。

窗体PICTURE属性中加载的图片,是直接存放在FRM文件中吗?
在打包时,要不要将PICTRUE属性中用到的这个图片再包含在打包文件中。 --------------------编程问答-------------------- 你试下不就知道了
看你用什么方式加载的了 --------------------编程问答-------------------- 如果是窗体启动前就指定好了picturer属性的话,就不用打包
如果是在窗体加载时通过指定picture属性的话,就需要打包进去 --------------------编程问答-------------------- 补充说明一下:我的开发环境是VB6 --------------------编程问答-------------------- 还有一个问题是:

FORM_LOAD和Form_Activate和Form_Initialize三者的区别。 --------------------编程问答-------------------- 设计时的图片存放在 .frx 中,编译时自动加在 exe 中,不需要再打包。

Form_Initialize 发生在对象创建时,好比新员工进入公司,只会发生一次
Form_Load 发生在窗体加载时,好比将员工分配给项目组,一个项目结束(Unload)后可以再分配,是可以多次发生的。
Form_Activate 发生在窗体得道焦点时,好比项目组长给员工分配具体任务,通常是多次发生的。 --------------------编程问答-------------------- 窗体PICTURE属性中加载的图片,如果是在设计时加载的,它直接存放在FRM文件中,打包时不需要另外打包图片文件。运行时加载的不行。
FORM_LOAD---加载窗体时的事件
Form_Activate---窗体成为活动窗体的事件
Form_Initialize---窗体初始化时的事件
顺序一般是:
Form_Initialize
Form_Load
Form_Activate
测试代码:
Private Sub Form_Activate()
Debug.Print "Form_Activate"
End Sub

Private Sub Form_Initialize()
Debug.Print "Form_Initialize"
End Sub

Private Sub Form_Load()
Debug.Print "Form_Load"
End Sub

--------------------编程问答-------------------- 如果你的图片是在设计时期即已装载了图片 则 打包时你可以不理会这些图片

但是如你的代码在运行时期还要使用 LoadPicture更换图片的话,你有两种方法

1.将图片捆进 资源文件 .res内, 在客户端在线释放出来调用.

2.将图片与你的程序放在一起或另开其它文件夹,使用 WinRar 压缩 --------------------编程问答-------------------- 2.将图片与你的程序放在一起或另开其它文件夹,使用 WinRar 压缩


如何从压缩文件中提取图片呢? --------------------编程问答-------------------- 当然是要 Ynrar 解压缩(还要写代码)

但是此法只适用于较大量的图片或音乐等文件时用

少量的图片或文件 最好用资源文件 非常方便的在客户端调用

资源文件会自动包含在你的exe里面 打包时你可以不用管它的,在客户端直接释放就行了 --------------------编程问答-------------------- 路过,帮顶 --------------------编程问答-------------------- 如果你设计时是通过鼠标加载的图片就不用打包进去了,
如果设计时你是通过键盘加载的图片就需要打包进去了. --------------------编程问答-------------------- 不用打包进去的 --------------------编程问答-------------------- 不用打包进去,我试过
--------------------编程问答-------------------- 关注 --------------------编程问答--------------------
引用 11 楼 wallescai 的回复:
如果你设计时是通过鼠标加载的图片就不用打包进去了,
如果设计时你是通过键盘加载的图片就需要打包进去了.


大智若愚? --------------------编程问答-------------------- 如果是在设计模式中通过右侧属性栏的picture 属性添加的,就不用在打包进去了!
如果是在程序中使用loadpicture() 方法加载图片的,则需要将图片一同打包! --------------------编程问答--------------------
引用 9 楼 cbm666 的回复:
当然是要 Ynrar 解压缩(还要写代码)

但是此法只适用于较大量的图片或音乐等文件时用

少量的图片或文件 最好用资源文件 非常方便的在客户端调用

资源文件会自动包含在你的exe里面 打包时你可以不用管它的,在客户端直接释放就行了



将图片放在资源文件里面有什么好处吗?
--------------------编程问答-------------------- 好处就是不要另外打包图片 --------------------编程问答-------------------- 怎么样? --------------------编程问答--------------------
引用 17 楼 gugeexit 的回复:
引用 9 楼 cbm666 的回复:
当然是要 Ynrar 解压缩(还要写代码)

但是此法只适用于较大量的图片或音乐等文件时用

少量的图片或文件 最好用资源文件 非常方便的在客户端调用

资源文件会自动包含在你的exe里面 打包时你可以不用管它的,在客户端直接释放就行了



将图片放在资源文件里面有什么好处吗?



1.用资源文件捆绑后成为一个单一的exe文件, 隐密释放与注册,不需客户动手,有点点"绿色软件"的味道.
2.达到文件保密的作用, 而且一旦某文件被客户删除了,可检测自动再度释放补上,避免程序缺文件而出错.

请参考

【CBM666 的如何制作与使用 .RES 资源文件】  

http://hi.baidu.com/cbm666/blog/item/bd9cd688e6a9ff95a5c27214.html --------------------编程问答-------------------- --------------------编程问答-------------------- 错了。
资源文件中的图片不需要释放到本地,可以直接用 LoadResPicture() 载入,相当于对外部文件进行 LoadPicture()。 --------------------编程问答--------------------
引用 22 楼 tiger_zhao 的回复:
错了。
资源文件中的图片不需要释放到本地,可以直接用 LoadResPicture() 载入,相当于对外部文件进行 LoadPicture()。


呵呵....难道你的小图标都是用 .bmp ? 不用.gif? .jpg? 

请了解, 除了位图 .bmp 音频仅限于 .wav 其它都需要释放的 --------------------编程问答-------------------- 既然加在资源中,应该都是小文件,不同文件格式大小差别不大,统一格式好了。
太大的文件加在资源中白白消耗内存。 --------------------编程问答--------------------
引用 24 楼 tiger_zhao 的回复:
既然加在资源中,应该都是小文件,不同文件格式大小差别不大,统一格式好了。
太大的文件加在资源中白白消耗内存。


加在资源中,应该都是小文件, 这句话有点保留的必要, 尤其是当你在制作 Setup.exe 时, 为了只让你发布的程序只有一个单一的exe不使用winrar捆绑压缩为一个文件包, 此时你就必需将一些 dll ocx 或其它相关的ini 图片与音乐等捆进资源文件中, 这样子 文件也不见得是小文件才捆绑.

资源文件只支援.bmp与.wav的"不必"释放出来, 但我不喜欢用.bmp 虽然.bmp较不失真, 但是文档占用空间一般来说都大于.jpg或.gif

"太大的文件加在资源中白白消耗内存" 如上面所说 SetUp安装也只是 "一次性", 谈不上 消耗内存

资源文件消耗内存 有时也因许多的条件因素不得不用 只能自己拿捏看着办了..... --------------------编程问答-------------------- 路过,帮顶…… --------------------编程问答-------------------- Setup.exe 比 winrar 作成的自解包有什么优点?
关心 bmp 和 gif 大小,却不管资源文件占用的内存 --------------------编程问答--------------------
引用 27 楼 tiger_zhao 的回复:
Setup.exe 比 winrar 作成的自解包有什么优点?
关心 bmp 和 gif 大小,却不管资源文件占用的内存


1.却不管资源文件占用的内存.....呵呵, 我已说了 一次性 难道你随时的在 安装 同一个软件吗?

2.Setup.exe 比 winrar 作成的自解包有什么优点?

没有什么优点, 我也说了 文件量大的话 winrar我还是会用它(方便多多), 但文件少时,捆绑为一个exe 单纯干净, 更可避免客户端的解压缩(.rar)错误,或压缩包坏掉(这个可能性远大于exe文件的毁损),这在菜鸟级的用户中是经常会碰到的.

资源文件 自己可以很方便的在客户端释放,做 Mkdir FileCopy RegSvr32 等动作,文件绝对不缺. --------------------编程问答-------------------- 资源文件一个最大的优点 可以随时检测某一文件是否存在 不存在则自动补上

因为有许多的客户 有事没事的玩 也故意或无心的删掉你某个必要的文件 那你也只能听客户的抱怨说软件不能用了. --------------------编程问答-------------------- 学习中 ...

JF --------------------编程问答-------------------- 顶一个! --------------------编程问答-------------------- 打包时当然不需要再包含。
其实不光是picture属性,很多资源都可以通过属性包直接包含在工程里,比如PNG图片,可以通过属性包以字节数组的形式进行保存,显示时把字节数组当作流进行转换就可以了。 --------------------编程问答-------------------- 老马很会灌啊

设计时选择的图片一般是在.FRX这个文件.会自动编译到EXE
不需要打包了.
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,