fixed setcolor for streamed components

git-svn-id: trunk@2178 -
This commit is contained in:
mattias 2002-08-17 23:41:05 +00:00
parent 200138e99b
commit 5f5242cdca
2 changed files with 26 additions and 2 deletions

View File

@ -754,7 +754,7 @@ type
{ TWinControl }
TWinControlFlag = (wcfClientRectNeedsUpdate);
TWinControlFlag = (wcfClientRectNeedsUpdate,wcfColorChanged);
TWinControlFlags = set of TWinControlFlag;
TWinControl = class(TControl)
@ -847,6 +847,7 @@ type
procedure CreateHandle; virtual;
procedure CreateWnd; virtual; //creates the window
procedure InitializeWnd; virtual; //gets called after the window is created
procedure Loaded; override;
procedure DestroyWnd; virtual;
procedure UpdateShowing; virtual;
procedure ShowControl(AControl: TControl); virtual;
@ -1438,6 +1439,9 @@ end.
{ =============================================================================
$Log$
Revision 1.101 2003/01/01 13:01:01 mattias
fixed setcolor for streamed components
Revision 1.100 2002/12/28 12:42:38 mattias
focus fixes, reduced lpi size

View File

@ -938,7 +938,10 @@ begin
if Value=Color then exit;
inherited SetColor(Value);
if HandleAllocated and (not (csLoading in ComponentState)) then
CNSendMessage(LM_SETCOLOR, Self, nil);
CNSendMessage(LM_SETCOLOR, Self, nil)
else
Include(FFlags,wcfColorChanged);
writeln('TWinControl.SetColor ',Name,':',ClassName,' ',wcfColorChanged in FFlags);
end;
procedure TWinControl.PaintHandler(var TheMessage: TLMPaint);
@ -2295,6 +2298,7 @@ begin
CNSendMessage(LM_SETSIZE, Self, @R);
CNSendMessage(LM_SHOWHIDE, Self, nil);
CNSendMessage(LM_SETCOLOR, Self, nil);
Exclude(FFlags,wcfColorChanged);
EnableWindow(Handle, Enabled);
@ -2305,6 +2309,19 @@ begin
SetProp(Handle,'Control',TControl(Self));
end;
{------------------------------------------------------------------------------
procedure TWinControl.Loaded;
------------------------------------------------------------------------------}
procedure TWinControl.Loaded;
begin
inherited Loaded;
if wcfColorChanged in FFlags then begin
writeln('TWinControl.Loaded ',Name,':',ClassName);
CNSendMessage(LM_SETCOLOR, Self, nil);
Exclude(FFlags,wcfColorChanged);
end;
end;
{------------------------------------------------------------------------------
Method: TWinControl.DestroyWnd
Params: None
@ -2563,6 +2580,9 @@ end;
{ =============================================================================
$Log$
Revision 1.113 2003/01/01 13:01:01 mattias
fixed setcolor for streamed components
Revision 1.112 2002/12/29 18:13:38 mattias
identifier completion: basically working, still hidden