现象:
从原来的Delphi xe5工程升级到Delphi XE10.1后,程序中的所有图标透明部分都变成了黑色,包括工具栏图标、ListView图标。
注:在IDE编辑时图标显示正常,但是运行时透明部分都变成了黑色。
解决途径:
1、建立一个测试工程,将旧工程中的TImageList拷贝过去,建立新的工具栏,图标能正常显示,排除TImageList问题。
2、将旧工程拷贝一份做测试,将除了主窗口意外的所有窗口、单元都删除掉,主窗口也只留下工具栏,问题依旧。(这个过程花了一天的时间,反观这个过程可以简化,当初为了能准确找到原因,删除几个窗口、单元测试一下,再删除在测试。)
3、按照第二个步骤继续,将主窗口跟测试工程中的窗口进行对比,并改成跟测试工程中窗口属性都相同,结果问题依旧,在此排除窗口的问题,应该是工程的问题。
4、对比两个工程选项,找出不同的部分,每个测试。
解决方法:
修改工程选项 Project Options for *** -> Aplication -> Manifest File -> Enable Runtime Themes 最后这个勾选上就可以了。
从原来的Delphi xe5工程升级到Delphi XE10.1后,程序中的所有图标透明部分都变成了黑色,包括工具栏图标、ListView图标。
注:在IDE编辑时图标显示正常,但是运行时透明部分都变成了黑色。
解决途径:
1、建立一个测试工程,将旧工程中的TImageList拷贝过去,建立新的工具栏,图标能正常显示,排除TImageList问题。
2、将旧工程拷贝一份做测试,将除了主窗口意外的所有窗口、单元都删除掉,主窗口也只留下工具栏,问题依旧。(这个过程花了一天的时间,反观这个过程可以简化,当初为了能准确找到原因,删除几个窗口、单元测试一下,再删除在测试。)
3、按照第二个步骤继续,将主窗口跟测试工程中的窗口进行对比,并改成跟测试工程中窗口属性都相同,结果问题依旧,在此排除窗口的问题,应该是工程的问题。
4、对比两个工程选项,找出不同的部分,每个测试。
解决方法:
修改工程选项 Project Options for *** -> Aplication -> Manifest File -> Enable Runtime Themes 最后这个勾选上就可以了。