【问题标题】:Problems with Imagelist after migration迁移后 Imagelist 的问题
【发布时间】:2018-06-14 12:55:46
【问题描述】:

我最近接触了 Delphi 10.2 Tokyo,并开始迁移使用 Delphi XE4 制作的项目。虽然我的应用程序像以前一样工作,但我对保存在 TImageList 中的图像有一个奇怪的问题。此图像列表连接到 TCategoryButtons 组。图像列表包含 16x16px 透明 PNG 文件。在面板中显示透明图像的目标在设计时有效,但在运行时不再有效。在运行时,黑色出现在图像之前透明的地方。

  • TImageList 有以下设置:

    BkColor=clNone, BlendColor=clNone, ColorDepth=32bit, DrawingStyle=dsTransparent

  • 应用程序使用主题

我尝试了什么:

  • 清理和重建整个项目
  • 更改图像列表内容(添加/删除的图像)
  • 尝试了图片列表中的不同设置
  • 新建了一个项目,添加了TCategoryPanel和TImageList,加载了相同的图片和设置,添加了一个主题->这可行O.O

之前有没有人有过这些影响并且知道如何解决?为什么这在设计时有效,但在运行时无效?

【问题讨论】:

  • 透明的 PNG 实际上并不像您期望的那样。它不使用 PNG 中的透明度。而是使用纯色并将该颜色设置为图像列表中的透明色。
  • @JerryDodge 如果它在设计和运行时的行为方式相同,我会接受他的 - 如果这是错误情况。但是因为它以前有效并且如果我创建一个新项目也有效,所以这必须与项目相关。
  • 东京的最新更新有一个 TPngImageList 似乎工作正常。
  • 我有版本 25.0.29039.2004 这是最新的更新吗?有没有我错过的更新功能?
  • 你的版本有 TPngImageList 吗?您可以使用它来代替 TImageList。

标签: delphi components vcl


【解决方案1】:

我通过分析新创建的项目文件与现有项目文件之间的差异解决了我的问题。我通过删除它重新创建了 .dproj 文件,然后根据项目 - 选项手动重新应用我的旧更改。这解决了我的图像问题。

【讨论】:

  • 让我猜猜:是运行时主题?
  • 我测试了有无运行时主题,没有区别。然后我只是写下了我的重要设置并删除了 .proj 文件。也许这是罪魁祸首:ProjectVersion 从 14.6 跃升至 18.3
  • 从您的屏幕截图来看,是的,这很可能是问题所在。请注意滚动条仍然是非常古老的样式。
  • @JerryDodge 我实际上在这台电脑上使用了“经典 Windows 风格”
  • 不,你错了。 VCL 样式是一个完全不同的主题。运行时主题是另一回事。
猜你喜欢
  • 2011-04-23
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 2017-10-31
  • 1970-01-01
  • 2011-01-03
相关资源
最近更新 更多