LCL: do not autosize a root frame at designtime

git-svn-id: trunk@25809 -
This commit is contained in:
mattias 2010-05-31 20:27:16 +00:00
parent 9e84e4ce20
commit 5ef52a7806
2 changed files with 14 additions and 0 deletions

View File

@ -272,6 +272,8 @@ type
Operation: TOperation); override;
procedure SetParent(AParent: TWinControl); override;
procedure DefineProperties(Filer: TFiler); override;
procedure CalculatePreferredSize(var PreferredWidth,
PreferredHeight: integer; WithThemeSpace: Boolean); override;
public
constructor Create(AOwner: TComponent); override;
class function GetControlClassDefaultSize: TSize; override;

View File

@ -153,6 +153,18 @@ begin
(longrec(DesignInfo).Hi<>Longrec(Temp).Hi));
end;
procedure TCustomFrame.CalculatePreferredSize(var PreferredWidth,
PreferredHeight: integer; WithThemeSpace: Boolean);
begin
if (csDesigning in ComponentState) and (Owner=nil) then begin
// frame is root component at designtime
// => keep it free resiable
exit;
end;
inherited CalculatePreferredSize(PreferredWidth, PreferredHeight,
WithThemeSpace);
end;
constructor TCustomFrame.Create(AOwner: TComponent);
begin
inherited Create(AOwner);