fix painting of panels on notebooks with themes (fixes bug #915)

git-svn-id: trunk@7216 -
This commit is contained in:
micha 2005-06-01 18:55:59 +00:00
parent 4a2a769957
commit 264eb5530a

View File

@ -79,7 +79,7 @@ begin
end; end;
type type
TEraseBkgndCommand = (ecDefault, ecPaint, ecNoMsg); TEraseBkgndCommand = (ecDefault, ecNoMsg);
const const
EraseBkgndStackMask = $3; EraseBkgndStackMask = $3;
EraseBkgndStackShift = 2; EraseBkgndStackShift = 2;
@ -242,14 +242,8 @@ Var
begin begin
// if this is a groupbox in a tab, then the next erasebackground is for // if this is a groupbox in a tab, then the next erasebackground is for
// drawing the background of the caption, send paint message then // drawing the background of the caption, send paint message then
if ((GetWindowLong(Window, GWL_STYLE) and BS_GROUPBOX) = BS_GROUPBOX) // update: tgroupbox does not have csOpaque, so it gets painted
and CompareMem(@winClassName, @ButtonClsName, High(ButtonClsName)+1) then
begin
{$ifdef MSG_DEBUG}
writeln(MessageStackDepth, ' *forcing next WM_ERASEBKGND to send paint message');
{$endif}
PushEraseBkgndCommand(ecPaint);
end;
// if need to start paint, paint by calling parent, and we have no // if need to start paint, paint by calling parent, and we have no
// controls, is a native control, use default win32 painting to avoid flicker // controls, is a native control, use default win32 painting to avoid flicker
@ -815,7 +809,8 @@ Begin
LMessage.WParam := WParam; LMessage.WParam := WParam;
LMessage.LParam := LParam; LMessage.LParam := LParam;
end else begin end else begin
if eraseBkgndCommand = ecPaint then if WindowInfo^.hasTabParent and ((lWinControl = nil)
or not (csOpaque in lWinControl.ControlStyle)) then
SendPaintMessage; SendPaintMessage;
LMessage.Result := 1; LMessage.Result := 1;
end; end;
@ -1587,6 +1582,9 @@ end;
{ {
$Log$ $Log$
Revision 1.208 2005/06/01 18:55:59 micha
fix painting of panels on notebooks with themes (fixes bug 915)
Revision 1.207 2005/05/06 20:07:29 vincents Revision 1.207 2005/05/06 20:07:29 vincents
disable all application windows, when the AppHandle is disabled (fixes bug 788) disable all application windows, when the AppHandle is disabled (fixes bug 788)