如何用picturebox扩缩背景透明的ico文件?
先来看段代码:
界面上就Command1一个控件,其style设置为1,picture属性添加了一个ico文件,上面的代码就是将控件和里面的ico图标都扩大1.1倍,处理方法很简单,创建了个临时的picturebox使用其PaintPicture方法扩缩好然后给command1,这样的就达到扩缩效果了。
问题是“按钮上的图标是扩缩了,可是背景是空白,与按钮本来的颜色显得格格不入”。(csdn不让上传图了,faint。)
有个方案就是给临时创建的皮cturebox背景色设置成和Command1的一致,也就是将上面被注释掉的一行拿掉,这样是可以解决。可是如果用了部分第三方按钮,本身并没有提供backcolor这样的属性,那么就不行了,事实就是如此。
所以必须对ico扩缩时仍旧使得它背景透明,各位有什么好方法阿?
Private Sub Command1_Click()
Me.Controls.Add "VB.PictureBox", "picTmp"
Me!picTmp.AutoRedraw = True
Me!picTmp.AutoSize = True
Me!picTmp.Appearance = 0
Me!picTmp.BorderStyle = 0
' Me!picTmp.BackColor = Command1.BackColor
Me!picTmp.Width = Command1.Picture.Width * 1.1
Me!picTmp.Height = Command1.Picture.Height * 1.1
Me!picTmp.PaintPicture Command1.Picture, 0, 0, Command1.Picture.Width * 1.1, Command1.Picture.Height * 1.1
Command1.Width = Command1.Width * 1.1
Command1.Height = Command1.Height * 1.1
Set Command1.Picture = Me!picTmp.Image
Me.Controls.Remove "picTmp"
End Sub界面上就Command1一个控件,其style设置为1,picture属性添加了一个ico文件,上面的代码就是将控件和里面的ico图标都扩大1.1倍,处理方法很简单,创建了个临时的picturebox使用其PaintPicture方法扩缩好然后给command1,这样的就达到扩缩效果了。
问题是“按钮上的图标是扩缩了,可是背景是空白,与按钮本来的颜色显得格格不入”。(csdn不让上传图了,faint。)
有个方案就是给临时创建的皮cturebox背景色设置成和Command1的一致,也就是将上面被注释掉的一行拿掉,这样是可以解决。可是如果用了部分第三方按钮,本身并没有提供backcolor这样的属性,那么就不行了,事实就是如此。
所以必须对ico扩缩时仍旧使得它背景透明,各位有什么好方法阿?
...全文
相关推荐
精彩编程与编程技巧-圖面背景透明的技巧...
精彩编程与编程技巧-圖面背景透明的技巧 ...
vb 超酷菜单 彩色渐变 可显示背景图片,可添加菜单图标 可以有声音
vb 超酷菜单,彩色渐变 可显示背景图片,可添加菜单图标 可以有声音
winfrom用到图片
winfrom用到图片
c#开发用到的各类图标
图标,各类图标,开发使用的个诶图标齐全
VB6环境下PNG图片显示解决方案详解
VB6 是旧了,但它承载的业务逻辑往往是企业命脉。与其推倒重来,不如学会如何在这片“老土地”上种出新花。通过集成 GDI+,我们不仅解决了 PNG 支持问题,更重要的是掌握了一种思维方式:当语言能力不足时,要学会向操作系统借力。这种能力,远比某个具体功能更有价值。下次当你面对一个“不可能完成的任务”时,不妨问问自己:有没有哪个系统 API 正在默默等待被唤醒?毕竟,真正的高手,从来不怕用老工具做出新东西。🛠️✨“技术没有新旧之分,只有会不会用的区别。


VB基础类
