如何在delphi上使用不同的图标大小?

时间:2013-05-23 14:29:36

标签: delphi icons

有人知道如何在delphi上使用不同的图标大小, 我问,因为在浏览器上显示时,窗口会选择最佳图标大小, 但是如何在资源上放置不同大小的图标。

再次感谢

1 个答案:

答案 0 :(得分:11)

我是这样做的:

  1. 使用图标编辑程序准备图标文件。此文件是.ico文件,包含具有不同大小和像素格式的相同图标的多个版本。
  2. 在.rc文件中引用该图标文件,该文件用作资源编译器的源。
  3. 作为编译的一部分,处理.rc文件,生成.res文件。
  4. 使用$R指令将.res文件链接到可执行文件。
  5. 在运行时加载适当版本的图标,其中一个Windows API函数从资源加载图像。
  6. 我将这些步骤用于工具栏和菜单上使用的所有图标。这允许我有一个可以根据用户的字体缩放设置进行缩放的GUI。 Delphi IDE引导您执行此操作的方式是创建TImageList并使用存储在.dfm文件中的图标填充它。这是相当无望的,因为它不容易让你有不同大小的图标。它还意味着您的可视资源存储在.dfm文件中,代表所有图标。如果你想换掉一个图标,那么你可以这样做,但它是相当不透明的。除了您留下的任何评论之外,您的VCS中留下的历史记录毫无意义。

    如果您只是在谈论主程序图标,那么您可以将.ico文件添加到项目中的项目中。选项|应用程序对话框和IDE将处理其余的细节。