Hi
DP'ler,
mir ist letztens ein Darstellungs-Problem mit einer TActionToolBar (ATB) auf einer TControlBar (CB) aufgefallen, wenn die ParentBackground-Eigenschaft der ATB auf true gesetzt is, die DrawingStyle-Eigenschaft der CB auf dsGradient (diese Eigenschaft gibts glaub ich erst ab Delphi 10; sie ist noch nichtmal dokumentiert) steht und die XP-Themes aktiviert sind (TXPManifest).
Zum selbertesten folgenden Code einfach kopieren und auf einer leeren Form einfügen (und Ausführen ^^ ):
Code:
object ControlBar1: TControlBar
Left = 8
Top = 24
Width = 217
Height = 49
DrawingStyle = dsGradient
TabOrder = 0
object ActionToolBar1: TActionToolBar
Left = 11
Top = 2
Width = 142
Height = 23
ActionManager = ActionManager1
Caption = 'ActionToolBar1'
ColorMap.HighlightColor = 15660791
ColorMap.BtnSelectedColor = clBtnFace
ColorMap.UnusedColor = 15660791
ParentBackground = True
Spacing = 0
end
end
object ActionManager1: TActionManager
ActionBars = <
item
Items = <
item
Action = Action1
Caption = '&Action1'
end
item
Action = Action2
Caption = 'A&ction2'
end>
ActionBar = ActionToolBar1
end>
Left = 40
Top = 80
StyleName = 'XP Style'
object Action1: TAction
Caption = 'Action1'
end
object Action2: TAction
Caption = 'Action2'
end
end
object XPManifest1: TXPManifest
Left = 8
Top = 80
end
Ich hänge nochmals einen Screenshot an, auf dem man schön sehen kann, dass der "grabber" für jedes Item der ATB neugezeichnet wird (was natürlich nicht richtig ist), und somit der Text teilweise dadurch überdeckt wird.
Da ich dieses Problem in der Turbo-Version von Delphi nun auch festgestellt habe, vermute ich, dass es entweder niemandem bisher aufgefallen ist, einfach ignoriert wurde, oder ich bei meiner Suche nach einer Lösung dieses Problems nur nicht gründlich genug war
.
Kann jemand dieses Problem rekonstruieren? Und kennt jemand eine Lösung dafür (außer natürlich den Draw-Style auf dsNormal zu setzen
)?
danke & ciao,
Philipp