tempad
ReadyGo!技术成就梦想 >>ASP技术 >> 可执行程序的图标怎么不对啦?

可执行程序的图标怎么不对啦?

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-14 6:26:17

可执行程序的图标怎么不对啦?

楼主qiaoqli1978(老兔子)2002-05-14 14:43:16 在 C++ Builder / 基础类 提问

我在BCB下编写了一个程序,在Project->Options->Application->Application   settiong中的icon选择了一个图标,然后确定,运行该程序。生成的可执行程序图标却是一个不知道从哪里钻出来的图标,象一个枪靶子。回头去看我的应用程序图标设置,是对的呀。不知道是怎么回事。有知道的高手吗?谢谢! 问题点数:0、回复次数:17Top

1 楼jishiping(JSP 季世平)回复于 2002-05-14 15:01:53 得分 0

你的程序里有多个图标。这时你必须将MAINICON放在第一个。也就是说,在有  
  其它图标的情况下,其他图标的名字必须出现在MAINICON的后面。也许你觉得  
  这样太死了。活一点的方法,在程序的开始加入下面的代码就可以了:  
  Application->Icon->Handle   =   LoadIcon(hIns,"MAINICON");Top

2 楼jishiping(JSP 季世平)回复于 2002-05-14 15:07:38 得分 0

你的程序里有多个图标。这时你必须将MAINICON放在第一个。也就是说,在有  
  其它图标的情况下,其他图标的名字必须出现在MAINICON的后面。也许你觉得  
  这样太死了。活一点的方法,在程序的开始加入下面的代码就可以了:  
  Application->Icon->Handle   =   LoadIcon(hIns,"MAINICON");Top

3 楼jishiping(JSP 季世平)回复于 2002-05-14 15:10:41 得分 0

上面的   hIns   是函数   WinMain   的第一个参数。我用的是hIns,将它改成你  
  取的变量名就可以了。Top

4 楼liux330(弧线+直线)回复于 2002-05-14 15:14:54 得分 0

Sounce文件里有一句(。。。。。),不记得了,我在外面出差,没工具,回去查查。Top

5 楼qiaoqli1978(老兔子)回复于 2002-05-14 18:21:13 得分 0

致季世平:你好。在程序的开始加入代码Application->Icon->Handle   =   LoadIcon(hIns,"MAINICON"),所谓的程序的开始是指哪里呢?我在WinMain函数中try包含的部分加入了你提供的代码,运行后仍没有什么变化,是否我理解有误?请赐教。谢谢!Top

6 楼whitetiger8(键盘未敲坏,基本功未练成)回复于 2002-05-14 19:44:44 得分 0

学习学习Top

7 楼jinwenming(狼)回复于 2002-05-14 20:03:51 得分 0

你可能在属性中加了图标!!Properties中的IconTop

8 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2002-05-14 20:26:51 得分 0

还有一个问题,我在application里用了一个图标a,然后编译运行这个application,在link之后,就出现了cpu调试的窗口。换其他图标后一切正常,只是用这个图标a的时候才出这个现象,新建application也没用。  
  是不是特定的图标造成bcb编译时候出问题   ?Top

9 楼jishiping(JSP 季世平)回复于 2002-05-14 22:18:12 得分 0

WINAPI   WinMain(HINSTANCE   hIns,   HINSTANCE,   LPSTR,   int)  
  {  
          try  
          {  
                    Application->Initialize();  
                    Application->Icon->Handle   =   LoadIcon(hIns,"MAINICON");  
                    Application->CreateForm(__classid(TForm1),   &Form1);  
                    Application->Run();  
          }  
          catch   (Exception   &exception)  
          {  
                    Application->ShowException(&exception);  
          }  
          return   0;  
  }  
  Top

10 楼qiaoqli1978(老兔子)回复于 2002-05-15 17:46:07 得分 0

谢谢各位的帮助,上面的方法我均试了n次,可惜无效。不知道是不是因为其他的什么原因。我漏说了一个线索,程序原先是没有这个问题的,我曾把这个程序移植到另一台机器的BCB环境中,移植过去后就出现了这个问题,然后我在那台机器上对程序做了修改并保存。当时并没在意图标变化的问题。当我再移植回原来的机器后,就始终改不过来了。大家帮忙分析分析,谢谢!Top

11 楼qiaoqli1978(老兔子)回复于 2002-05-15 17:47:29 得分 0

谢谢各位的帮助,上面的方法我均试了n次,可惜无效。不知道是不是因为其他的什么原因。我漏说了一个线索,程序原先是没有这个问题的,我曾把这个程序移植到另一台机器的BCB环境中,移植过去后就出现了这个问题,然后我在那台机器上对程序做了修改并保存。当时并没在意图标变化的问题。当我再移植回原来的机器后,就始终改不过来了。大家帮忙分析分析,谢谢!Top

12 楼ddeng(登登)回复于 2002-05-15 18:05:12 得分 0

可能是图标颜色数的问题(256色的应该没问题),你可以用图标编辑软件编辑一下你用的图标,我以前也碰到过类似的问题,当时使用的含有多种规格的复合图标,颜色数是16M,不过只调试时会弹出CPU调试窗口,独立运行时倒没错。后来我改成256色图标就没问题了。Top

13 楼ddeng(登登)回复于 2002-05-15 18:07:13 得分 0

很有可能是你的图标文件中含有两种或多种规格,而大图标和小图标不一致。Top

14 楼dragonhux(dragon(清水))回复于 2002-05-15 20:31:22 得分 0

以上大哥的话都对,但程序的图标始终不变!这你介绍一个办法,以做参考!  
  在你的程序中除MAINICON外,肯定有其它的图标,如果不使用的话,可以有  
  个取巧的办法,就是使用BCB光盘上带的WORKSHOP工具,可以处理执行文件中  
  图标,打开执行文件,将其它的图标改名,使安A..Z的排列顺序图标MAINICON  
  在第一个!  
  记住,不要删除,在98下,到NT下就有问题!  
  我也处理过多个文件!Top

15 楼xingzhou(往事悠悠,网事幽幽)回复于 2002-05-22 16:18:11 得分 0

我也有这个苦恼,不过我发现,用Exescope编辑可执行文件的资源时,发现在图标下有“爱沙尼亚语”,和“中文”两种图标,不知道CB6这个图标为什么会插入这个图标,而且放在最前面,成了默认的图标。  
   
  烦恼之极,也许是盗版的爱沙尼亚的版本,呵呵Top

16 楼qiaoqli1978(老兔子)回复于 2002-05-27 12:02:06 得分 0

楼上的话值得考虑,我看看。  
  Thanks!Top

17 楼Behard(我爱天安门)回复于 2002-05-27 12:37:39 得分 0

把   project.res   文件删除  
  或者重新作一个新的   project   试一试。Top

18 楼Behard(我爱天安门)回复于 2002-05-27 12:39:59 得分 0

不过也有可能是别的原因  
  我曾经试过把一个   bcb3.0   的   project   用   bcb5.5   编译后再用   bcb3.0   时无论如何更改都是固定的图标(bcb5.5的默认图标)Top

19 楼qiaoqli1978(老兔子)回复于 2002-05-28 09:24:27 得分 0

终于找到解决的方法了。在我的程序里用到了托盘程序,而BCB的example里有相应托盘程序的例子(TrayIcon),例子中Application   Setting设置的图标始终影响到我的应用程序图标。我将例子中Application   Setting的图标改为应用程序需要的图标,然后就解决了应用程序图标总是不对的问题。但是这始终很让人恼火,因为我终究没能达到解决这类问题的根本。比如说,仅通过修改应用程序的设置或代码达到目的;或找到应用程序获取图标的规则、优先权、怎样获取的等等。不知道我的想法是否有误,还请大家指教。Top

责任编辑: efish 参与评论 查找更多:
相关文章
请大家看看我的问题,会者不难啊 请大家看看我的问题,会者不难啊
关于ssl 关于ssl
我用CFile类进行文件的读写,怎样判断文件的结束呢? 我用CFile类进行文件的读写,怎样判断文件的结束呢?
关于VB调用DES加密算法的问题 关于VB调用DES加密算法的问题
请问如何在程序里把word文档、网页文件等格式转换为… 请问如何在程序里把word文档、网页文件等格式转换为纯文本格式?
to suyman(存在即合理): to suyman(存在即合理):
Oracle中如何实现某一字段有条件的自动增加1? Oracle中如何实现某一字段有条件的自动增加1?
一般计算器只能一步步的计算,怎么实现一步求得计算… 一般计算器只能一步步的计算,怎么实现一步求得计算结果!
关于StringGrid的问题? 关于StringGrid的问题?
用什么样的ADSL路由器既便宜又好用?有没有人用过这种… 用什么样的ADSL路由器既便宜又好用?有没有人用过这种价廉的路由器?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想