【发布时间】:2013-03-11 23:30:58
【问题描述】:
我需要将一些图标作为资源添加到我的项目中(在这种情况下我不能使用 TImageList,因为 TCoolTrayIcon 中的错误,并且我无法快速替换组件)。
我创建了一个 icons.rc 脚本来将两个 ico 文件添加到 Delphi 资源文件中:
redicon ICON "c:\icon\red.ico"
greenicon ICON "c:\icon\green.ico"
它可以很好地编译为 icons.res,所以我将它添加到我的 Delphi 7 项目的第一个单元中:
{$R icons.res}
然后我将句柄存储在 MainForm 的 OnCreate() 中:
hRedIcon := LoadIcon(hInstance,'redicon');
hGreenIcon := LoadIcon(hInstance,'greenicon');
然后使用手柄就好了。
现在的问题 - 这样做之后,添加到项目选项中的项目图标(大小为 16x16 到 48x48)被我在 {$R icons.res 添加的第一个图标(16x16 redicon)替换}。
如何预防?如何在不替换项目选项 -> 应用程序 -> 加载图标中添加的图标的情况下,将其他图标作为资源添加到项目中?
【问题讨论】:
-
请向我们展示您的 .dpr 代码。
-
我总是在我控制的资源文件中包含主图标。
-
你能把它包含在一个单独的 DLL 中吗? “资源 DLL” 使用频率很高
-
whosrdaddy,项目的dpr文件比较大,这里不能发。但是是的,它有一个 {$R *.RES} 行,它是由 Delphi 创建的。
-
大卫,如果我使用资源文件添加项目图标,我需要使用一些特定的资源名称吗?