VB显示真彩图标

     N年前本来会的,忘了,刚刚找回来。

     其实vb只能支持到256色,真彩图标需要更麻烦的设置。256色基本也够了,但是,找到的很多图标,在vb中却异常难看,颜色和分辨率都极差,不知什么原因,安装sp6后仍然一样。

     今天才找到原因:图标文件中可以包含多种格式,必须要保证一个最优先的,如果这个不对就不行。

     说不清,看图,用“天堂图标工作室”打开图标,可以看到

     

     看这个就明白了,选256色和需要的尺寸,再保存后,在vb中使用,就不一样了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  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()进行加载。加载成功就可 以使用里面的真彩图标了。   这个模块只提供了一些基本的功能,如果有需要可以自己再进行扩展。还有就是没有进行 异常处理,因此要求用来加载的文件必须是正确的图标文件、并且可以读取;数组数据则必须 是合法的图标文件数据。否则可能会引起异常,你也可以修改代码进行异常捕获处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值