上传者: chen8013
|
上传时间: 2022-03-25 16:12:27
|
文件大小: 10KB
|
文件类型: -
VB6本身只支持16色(4位)和256色(8位)的图标,这种图标只是早期的Windows版本所采用的
图标格式标准。现在各种高清真彩色(32位带Alpha通道、24位不带Alpha通道)早已经很流行
并且普遍使用了,但在VB6中却不能直接支持、使用。即使想把这种真彩色图标加入图标资源、
或者是把它加入ImageList控件中,也会被提示“无效图片”而不能加入。记得论坛中曾经有某
位高人说过,VB6的Form是支持真彩色图标的,可以给窗体设置真彩色图标。
昨天上午我试了一下,新建一个标准EXE工程,然后随意找了一个高清真彩图标文件,给工
程的Form1设置Icon属性,成功了……… 但是,感觉它显示的图标有点怪异,总觉得有些不对
劲呢…… 于是,我把这个高清图标文件中32×32和16×16这两种规格的真彩色图标单独提取
出来,分别保存为一个.ico格式的文件,然后再用这两个图标文件来给它设置Icon属性。果然,
这两个文件在操作时VB6都提示“无效图片”!!!这就说明:VB6是不支持真彩色图标的。最
开始时“能设置成功”,只不过是因为它从图标组中找到了256色的、它能支持的格式罢了。
闲话不多说了,这个模块进行了简单的封装,提供了一些基础的操作功能。源码中有比较
详细的注释,使用起来应该是很简单的,就不再写什么“应用示例代码”了。首先要调用接口
函数装载图标,从图标文件加载就调用LoadFromFile(),从字节数组加载就调用LoadData()。
加载成功后,即可调用其它接口来使用图标对象了,比如用GDI方式把图标画到窗口内、或者画
到某个PictureBox上、给自己的窗口或别的程序窗口设置一个真彩色图标等。虽然在“资源”
中不能以“图标”的方式把真彩图标加入,但是,却可以按“自定义资源”的方式把图标文件
装入,使用时读取出对应的资源数据,然后调用函数LoadFromData()进行加载。加载成功就可
以使用里面的真彩色图标了。
这个模块只提供了一些基本的功能,如果有需要可以自己再进行扩展。还有就是没有进行
异常处理,因此要求用来加载的文件必须是正确的图标文件、并且可以读取;数组数据则必须
是合法的图标文件数据。否则可能会引起异常,你也可以修改代码进行异常捕获处理。