2012-02-04 82 views
4

Delphi XE2蒙皮选项非常棒,但有些情况下您想通知Delphi只保留一个元素或表单。在我的情况下,我有一个完全在Delphi内部创建的飞溅形式 - 这是因为皮肤隐式覆盖所有颜色而被破坏。避免在Delphi XE2下蒙皮元素

有没有什么方法可以告诉Delphi或skinning-engine,它应该只是单独控制或形式?

+6

检查这个问题[如何禁用德尔福VCL风格(http://stackoverflow.com/questions/8598728/how-禁用-vcl-styles-in-delphi) – RRUZ 2012-02-04 18:48:03

+0

这样做的技巧,thx – 2012-02-04 20:23:37

回答

3

我会尝试使用这样的事情(未测试)

TStyleManager.Engine.RegisterStyleHook(TYourSplashForm, TStyleHook); 
+0

几乎工作。它用表单的背景颜色解决了问题。但是构成表单的TPanel对象和标签对象仍然被剥皮。我已经关闭了parentcolor和parentbackground - 但它没有效果:( – 2012-02-04 17:56:22

+0

我也尝试更改计时器中的颜色和字体颜色,只是为了在显示窗体和应用颜色之间获得延迟 - 但没有效果。样式覆盖了所有内容 – 2012-02-04 17:58:07

+0

然后尝试对'TPanel'和'TLabel'也做同样的事情''TStyleManager.Engine.RegisterStyleHook(TPanel,TStyleHook);''和'TStyleManager.Engine.RegisterStyleHook(TLabel,TStyleHook);'但是我现在无法验证它是否影响整个应用程序中的样式 – 2012-02-04 18:00:07