请问高手,怎样把bmp编译到exe里????

newfang 2003-01-20 05:19:39
如题^_^
...全文
3 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
newfang 2003-01-22
谢谢各位:
我的情况是这样的,我做了一个屏保,运行很正常,但被程序调用的那几个bmp
不能删除,否则就提示找不到的错误.
我的意思是怎么把bmp编译到所生成的exe里,而不需要再调用原来的
bmp源文件.
回复
bigworld1984 2003-01-21
用PICTUREBOX控件
回复
bigbigfans 2003-01-20
也许这个VB自带控件有用
(MSDN)
使用 PictureClip 控件


PictureClip 控件保存了可用于其它 Visual Basic 控件的多个图象。所有的图象包含在一个位图中。这样从该位图中“剪贴”的选定区域,就可用于 PictureBox 控件以创建动画,或用于多个 PictureBox 控件以创建工具框。

PictureClip 控件可与任何控件共同使用,只要它可为其 Picture 属性赋予 Picture 对象即可,这些控件包括 PictureBox、Image 和 CommandButton 控件等。

在一个 PictureClip 控件中保存多个图象,既节省了 Windows 资源,又加快了获取图象的速度。PictureClip 控件在某些方面与 ImageList 控件有些相象,然而,它们之间也有区别,这就是 PictureClip 控件中的所有图象资源必须保存在一个位图中,而 ImageList 控件是独立位图的集合。

用途
创建图象资源位图。该位图保存了用于动画或工具框的所有图象。
创建 PictureClip 图象
使用 PictureClip 控件的第一步是创建图象资源位图。PictureClip 控件只支持 16 色的位图 (.bmp) 图象。在创建图象集时,先准备好所有单个图象,然后将它们剪切并粘贴在一个位图中,如下所示。

包含资源位图的 PictureClip 控件



注意 需要保证每个图象的大小相同。这样在 PictureBox 控件显示单个图象时,这些图象才会显示在同一区域。

将资源位图加载到 PictureClip
创建图象资源位图后,要将它加载到 PictureClip 控件中。PictureClip 控件的“属性页”对话框,可用于将该位图加载到该控件中,并用列数和行数设置网格。

要在设计时将资源位图加载到 PictureClip 控件中,请按照以下步骤执行:

在 Visual Basic 中启动新的工程。


在该窗体中加入 PictureClip 控件。


在 PictureClip 控件的“属性”窗口中,选中“自定义”选项,或用鼠标右键单击该控件,并选中“属性”,即可打开“属性页”对话框。


选中“图片”选项卡,并单击“浏览”按钮,以寻找该位图。选中的位图在“预览”窗口中显示。
将资源位图加载到 PictureClip 控件中



在运行时加载资源位图
在运行时使用 Picture 属性,也可以将图象资源位图加载到 PictureClip 控件中。如下面的示例所示:

PictureClip1.Picture = LoadPicture("c:\Program _
Files\Microsoft Visual _
Basic\Samples\PicClip\Redtop.bmp")
' 如果您已经安装了 Visual Basic 示例应用程序,PicClip
' 工程可以在 \samples\VB98\ 目录中找到。

从 PictureClip 控件中获取图象
创建图象资源位图,并将其加载到 PictureClip 控件中之后,就要确定如何获取每个图象了。

可以以剪贴区域的形式,获得图象资源位图的任意区域。用 ClipX 和 ClipY 属性确定剪贴区域的左上角,用 ClipHeight 和 ClipWidth 属性定义剪贴区域的大小。在 Clip 属性中保存了被剪贴的区域。

可将图象资源位图划分为指定数目的行和列。这样,这些行和列所分出的单元,就可用编号进行访问了。这些单元用 GraphicCell 属性进行编号。编号从 0 开始。从左到右,从上到下进行编号。

在设计时设置行数和列数
使用“属性页”对话框,可在设计时设置行数和列数。在上面的示例中,十八个红色陀螺被分为三行六列。

要在设计时设置行数和列数,请按照以下步骤执行:

在 PictureClip 控件的“属性”窗口中选中“自定义”选项,或者用鼠标右键单击该控件并选中“属性”。将打开“属性页”对话框。


选中“通用属性”选项卡。


选择资源位图中的图象相应的行数和列数。然后单击“确定”。
图 2.24 设置行数和列数



在运行时选择单元
可用 GraphicCell 属性指定希望将 PictureClip 控件图象资源位图中的哪个单元装载到 PictureBox 控件中。下面的示例在 Form_Load 事件过程中,将一幅图象(一个单元)加载到 PictureBox 控件中:

Private Sub Form_Load()
PictureClip1.Picture = LoadPicture("c:\Program _
Files\Microsoft Visual _
Basic\Samples\PicClip\Redtop.bmp")
PictureClip1.Cols = 6
PictureClip1.Rows = 3
Picture1.ScaleMode = vbPi xels
Picture1.Picture = PictureClip1.GraphicCell(2)
End Sub

注意 在 Visual Basic 中,窗体和图片框的缺省 ScaleMode 单位是缇。把显示图象的所有PictureClip控件的 ScaleMode设置为 vbPi xels。

如果已经通过 PictureClip 的“属性页”定义了它的行数和列数,那么只需使用 GraphicCell 属性即可将图象装载到 PictureBox 控件中。否则,必须先用 Cols 和 Rows 属性指定其行数和列数。要使用 GraphicCell 属性,必须至少定义一行一列。

回复
antshome 2003-01-20
往工程里添加一个资源文件,然后添加bmp,这样可以用LoadResPicture来读取
回复
zyl910 2003-01-20
直接设置PictureBox、Image的Picture属性
回复
做成资源
回复
lixingyuaaa 2003-01-20
用picturebox,image都可以吧
回复
czfeng 2003-01-20
最好用imagelist控件
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7452

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告