我使用自己的图标(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
答案 0 :(得分:6)
图标是与任务栏按钮关联的窗口的图标。因此,将Application.MainFormOnTaskbar设置为True,它是主窗体图标。当为False时,它是Application的隐藏窗口的图标。因此,要在主窗体上的任务栏上显示不同的图标,您需要将MainFormOnTaskbar设置为False,并为Application.Icon分配不同的图标。这似乎是解决问题的简单方法。
如果我记得VCL只设置了一个尺寸的图标。根据我的经验,最好自己正确地完成工作并直接发送WM_SETICON消息来设置小图标和大图标。
至于您的图标所在的位置,请将它们作为资源链接到您的可执行文件。我避免使用图像列表,因为我失去了对原始.ico文件的控制权,但这可能只是我挑剔。如果您愿意,可以随意使用图像列表。