إضافة تعليق جديد

Workaround on TDBNavigator,TSpeedButton bug

Some comments on Andreas Hausladen blog asked for help in this TDBNavigator bug QC52439 , I think everybody knows Andress and his great efforts to the Delphi community, so i decided to give Andress a hand on this ;) and here is workaround for this bug:
note: this bug exists in Delphi2007 and Delphi2009
1- open  "Buttons" unit.
2- in the TSpeedButton class  locate these lines in the Paint Procedure


...
if not PaintOnGlass then
if Transparent then
ThemeServices.DrawParentBackground(0, Canvas.Handle, nil, False)
...

and modify them like this...
if not PaintOnGlass then
if Transparent then
Begin
PerformEraseBackground(Self, Canvas.Handle);
ThemeServices.DrawParentBackground(0, Canvas.Handle, nil, False);
End
...

(re)compile  the unit  and  that will solve the problem and maybe other problems caused by this bug.


Articles Categories: