问题1)
我一般是用project/option设置我的程序的图标的,这样我发现生成的exe有且仅有一个MainIcon图标(这一点可以用freeres或exescope证实),但是我发现有些delphi/cb程序员的exe程序中有四个图标:16*16,16C; 16*16,256C; 32*32,16C; 32*32,256C;    这是如何实现的?
问题2)
我原来认为控制台程序(32位dos程序)不可能另外设置图标,但是我发现有些同志也可以修改他们的图标。如免费安装制作程序Inno.Setup.3.06中有一个ISCC.EXE,它居然有自己的图标...

解决方案 »

  1.   

    我们知道,Window的资源管理器由一个大图标和小图标两种显示状态,32*32和16*16两种,而且这两种图标可以是不同的!但是Delphi编译的程序都只有一种状态!就是那个32*32,那么Delphi到底可不可以做到呢?回答是肯定的!1:修改DPR文件,找到那个含有{$R *.Res}的那一行,把他修改成{$R %ProjectName%.RES}
    2:用VC++或者ImageEditor打开这个Res文件,对它进行编辑即可,可以打开一个ICON文件Copy下来,Paste到那个16*16的图标即可。下面以用VC++编辑为例:
    启动VC++,用Open打开这个RES文件,可以看到里面有一个Mainicon的图标,双击它,出来一个Icon编辑窗口,其中工具栏最右边有一个按钮,点击一下然后建立一个16*16大小的图标即可,可以编辑它保存即可,也可以用VC++打开一个已经编辑好的ICON,Copy&Paste即可。
    3:编译即可!注意:这个方法将不能够用Project Options来修改Application 的Icon。
    我猜想,必须这么麻烦的原因,在于Delphi每次会自动重新生成那个该死的RES,不使用{$R *.Res}而采用{$R %ProjectName%.RES},系统认为不要自动重新生成RES文件,所以那做的修改就会保存下来了!采用这种方法,对编译程序没有任何影响!不会有任何错误!呵呵~~~~~~还有另外一个方法:
    就是用其它的图标编辑软件编辑图标,但是这个图标有多种不同的规格!Delphi编译的时候会自动进行处理。例如,用IconEditor编辑一个包含两种规格(16*16和32*32)的图标,那么用Delphi的Project Options Load这个图标就可以了!!!!这种方法更简单一点儿,不需要更改Delphi的源代码,但是必须有特殊的图标编辑软件。
    注意:Delphi对真彩色图标的支持有问题!具体来说Delphi 5.0不可设置Project Options中的图标为真彩色,否则一按F9程序就会中断若干次。
      

  2.   

    另外,Console Application图标一样设置
      

  3.   

    csdn效率真高,刚提出的问题就解决了,多谢~!另有一贴,能否给点意见:
    WinRar外壳是如何实现对 rar.exe 进度条控制的?
    http://expert.csdn.net/Expert/topic/1358/1358607.xml?temp=.3615686