【编程小技能分享】VB6应用程序图标使用经验一则


VB6应用程序图标使用经验一则
见过有不少人写的程序不喜欢用图标。且不说工具栏等处的图标,很多人连窗体图标都用的是VB6默认的图标。但我觉得,再简单的有窗体的程序,也至少要弄一个主窗体图标才好,同时这个图标也充做编译后的EXE程序的主图标。事实上1998年诞生的VB6,对图标方面的支持也不多,比如不方便单独设置应用程序图标,而是只能将应用程序的图标“绑定”到某个窗体的图标上。而且,令人郁闷的是,并没有App.Icon这样的属性直接访问应用程序图标。唉,说了这么多,其实只是想分享一下我下面这套图标设置代码:

1,在任一标准模块中定义一个全局对象:

  Public g_AppIcon As StdPicture                                                  '应用程序图标


2,在启动窗体的Form_Load事件前部初始化这个对象

  Set g_AppIcon = Me.Icon


注意:除非很多程序的启动窗体(比如登录窗体)并不是主窗体,所以这个系统图标尽量在先出现的窗体中初始化。

3,在多窗体程序中,主窗体以外的窗体要使用主窗体图标的,一定要写成类似这样的:

  Me.Icon = g_AppIcon


注意:切忌写成 Me.Icon = frm启动窗体.Icon这样的。因为一般来说像登录窗体这种启动窗体,在登录后就退出了,你要是这样写,实际上造成了启动窗体的隐式加载,这样程序退出时反而因有隐藏的启动窗体没有退出,而导致进程实际上没有退出。


补充:

1,因为VB6中的对象是基于COM的,它的销毁和引用计数相关,所以不用担心Set g_AppIcon = Me.Icon这样后,会出现退出启动窗体会导致图标失效等相关问题。

2,这里没有使用LoadResPicture来加载应用程序图标,是因为这个函数只能载入低彩色的图标,而不像在设计器里设置窗体图标时,可以有24位真彩色的,并且运行时实际有效。

VisualBasic程序开发环境 程序开发 VisualBasic

disco 11 years ago

路过,学习了!

六六六柳三三 answered 11 years ago

程序都应该弄个图标好。

最后的纯爷们 answered 11 years ago

蛮有意思的!

优芙露吉奴 answered 11 years ago

VB6的窗体,运行设置了自定义图标时,运行时就会产生一个临时文件。



我还是习惯在资源文件中使用图标。

真彩色图标用 "CUSTOM" 类型资源装入,用API来改窗口图标。

Cathy丢丢 answered 11 years ago

VB6中,LoadResData()好象只能用于装载自定义的资源。


的撒娇的肯定撒 answered 11 years ago

很好啊,顶一个,学到了很多 

X-joker answered 11 years ago

好东西,收藏了先。

猫猫猪OTL answered 11 years ago

学习学习。。。

adkeidk answered 11 years ago

很详细的命令!感谢分享!

brenden answered 11 years ago

图标这个不是单位有规定的么

Lain02 answered 11 years ago

支持!!支持!!支持!!支持!!支持!!

deleted answered 11 years ago

你错,学习了

做你昼夜骑士 answered 11 years ago

呵呵呵,领分了、

Adonis answered 11 years ago

Your Answer