迁移的C ++ Builder项目会丢失Imagelist透明度

时间:2017-05-16 12:25:49

标签: transparency c++builder timagelist c++builder-10.1-berlin

我从C ++ Builder XE7升级到C ++ Builder Berlin,我有一个项目,在6个ImageList控件中有大约100个图像。

在XE7中,透明度工作正常,但升级后所有图像现在都有黑色纯色背景而不是透明度。

我仔细检查了ImageList的ColorDepth仍然是cd32bit,它是。所有内容都在IDE中显示文件,图像是透明的,但是一旦我运行我的应用程序,所有图像都有黑色背景而不是透明度。

Black background

我试图删除一个新的TImageList,cd32bit深度,并添加了一些透明的PNG:s在XE7中运行良好。它们仍然在运行时显示黑色背景,但不在IDE中显示。

1 个答案:

答案 0 :(得分:0)

终于弄清楚了!
我注意到所有控件都有旧的Win XP风格,所以我怀疑加载了错误的Comctl32.dll版本,问题只是如何更改它?

该项目非常陈旧,是在C ++ Builder支持的清单之前创建的。但是在项目选项中,在Application下你会找到一个名为“Manifest File”的部分。

将其设置为“自动生成”并勾选“启用运行时主题”复选框,它将使用正确版本的Comctl32.dll