如何在任务栏Delphi 2010中更改应用程序图标

时间:2013-08-10 10:43:13

标签: delphi icons delphi-2010 taskbar

我使用自己的图标(32x32 16位EGA)更改了我的应用程序的图标:

Project > Option > Applications > Load Icon

任务栏中的图标在许多边框样式中都发生了很好的变化:= bsNone或bsSingle或bsSizeable或bsSizeToolWin或bsToolWindow。 但是当我使用BorderStyle:= bsDialog时,图标没有改变。

请不要告诉我使用:

Application.Icon.LoadFromFile(extractfilepath(application.exename) + '\myicon.ico');

我只想提交一个EXE文件。

PS:我使用Embarcadero Delphi 2010

1 个答案:

答案 0 :(得分:6)

图标是与任务栏按钮关联的窗口的图标。因此,将Application.MainFormOnTaskbar设置为True,它是主窗体图标。当为False时,它是Application的隐藏窗口的图标。因此,要在主窗体上的任务栏上显示不同的图标,您需要将MainFormOnTaskbar设置为False,并为Application.Icon分配不同的图标。这似乎是解决问题的简单方法。

如果我记得VCL只设置了一个尺寸的图标。根据我的经验,最好自己正确地完成工作并直接发送WM_SETICON消息来设置小图标和大图标。

至于您的图标所在的位置,请将它们作为资源链接到您的可执行文件。我避免使用图像列表,因为我失去了对原始.ico文件的控制权,但这可能只是我挑剔。如果您愿意,可以随意使用图像列表。