我正在尝试自定义在Windows资源管理器和我的Delphi应用程序的桌面快捷方式中显示的图标。
在Delphi 7 IDE中,我在“项目选项”对话框的“应用程序”选项卡中加载了所需的图标。它将我想要的图标显示为图形。
我认为没有必要,但我也将我的图标设置为TMainForm Icon属性。
但是,生成的EXE仍会显示默认的D7图标。我错过了什么?
答案 0 :(得分:5)
经过多次狩猎后我发现了它。我通过从另一个文件夹复制现有项目来创建一个新项目。我忘了更改DPR文件顶部的程序名称以匹配新项目的名称。不知何故,如果在那里使用了错误的名称,它会阻止在生成的EXE文件中更改图标......
答案 1 :(得分:3)
将图标分配给应用程序时,该图标将嵌入到名为与程序名称相同的.res文件中(.dpr文件第一行中提到的名称)。当您更改.dpr文件中的程序名称时,delphi会使用新程序名创建一个新的.res文件,并在新的res文件中查找图标资源并找不到,因此使用默认图标(或矩形白色)框)。将不再使用带有图标资源的旧res文件。 总之,如果更改程序名称,则必须重新分配图标。
答案 2 :(得分:2)
可能需要删除图标缓存。有很多关于此问题的网页,此链接可能很有用:http://smallvoid.com/article/windows-icon-cache.html