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

bcrun 2013-08-31 11:27:29
加精
见过有不少人写的程序不喜欢用图标。且不说工具栏等处的图标,很多人连窗体图标都用的是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位真彩色的,并且运行时实际有效。
...全文
6009 75 打赏 收藏 转发到动态 举报
写回复
用AI写文章
75 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengchz2002 2015-12-17
  • 打赏
  • 举报
回复
没试出来接过来,哪位大虾再解释下吗。 我再Module1中输入Public g_AppIcon As StdPicture 在form1中输入: Option Explicit Private Sub Form_Load() Set g_AppIcon = Me.Icon End Sub 运行没效果,再后续还要处理什么?
qq_22748985 2015-07-31
  • 打赏
  • 举报
回复
小菜来逛逛!
wpsgba 2015-06-14
  • 打赏
  • 举报
回复
看了半天没看懂,什么意思?
shsy222 2015-06-09
  • 打赏
  • 举报
回复
要想界面精美一些,还是需要图标的。
yeyuningzi 2015-01-04
  • 打赏
  • 举报
回复
脚印。。。准备学VB
歪歪杨 2014-11-17
  • 打赏
  • 举报
回复
这办法听着新鲜
火车恋人 2014-08-05
  • 打赏
  • 举报
回复
好建议,好东西,收藏了
hcl909 2014-06-17
  • 打赏
  • 举报
回复
好像是注意格式就可以了
ak1218g 2014-03-30
  • 打赏
  • 举报
回复
哪如直接设置,费那劲干嘛,VB要得就是干脆
u010581663 2014-03-27
  • 打赏
  • 举报
回复
学习一下 ,可能会用到
hfq20052006 2014-03-18
  • 打赏
  • 举报
回复
谢谢楼主分享,学习了
ylllyf 2014-02-28
  • 打赏
  • 举报
回复
我一般打包的时候添加图标
舉杯邀明月 2013-09-30
  • 打赏
  • 举报
回复
引用 74 楼 bcrun 的回复:
[quote=引用 26 楼 Chen8013 的回复:] VB6的窗体,运行设置了自定义图标时,运行时就会产生一个临时文件。
这个确没注意到,能具体描述一下吗[/quote] 这个临时文件,扩展名是 .tmp ,文件名以字符 ~ 开头,然后是6位16进制的数。 基本就是这样的格式,大小在16K左右。 不仅仅是窗体设置了自定义图标,运行时会产生这样的临时文件。 我还注意到,如果用了 ImageList控件,如果在设计时给它预先添加了图像(哪怕只有1个),运行时也会释放临时文件。
bcrun 2013-09-30
  • 打赏
  • 举报
回复
引用 26 楼 Chen8013 的回复:
VB6的窗体,运行设置了自定义图标时,运行时就会产生一个临时文件。
这个确没注意到,能具体描述一下吗
u010785554 2013-09-18
  • 打赏
  • 举报
回复
我的大飞哥 2013-09-17
  • 打赏
  • 举报
回复
感謝分享,跟貼學習,支持一下。
youniwohenkuaile 2013-09-17
  • 打赏
  • 举报
回复
kanavic2012 2013-09-17
  • 打赏
  • 举报
回复
谢谢分享,学习中
jeep206 2013-09-16
  • 打赏
  • 举报
回复
VB难学吗?
瘦又美 2013-09-16
  • 打赏
  • 举报
回复
加载更多回复(55)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧