From d57368b809f917d0359e8c174ae32b5cbcbc6be2 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 17 Apr 2012 07:55:13 +0000 Subject: [PATCH] LCL: TCustomSplitter.SetAnchors: adapt anchors before applying git-svn-id: trunk@36861 - --- lcl/extctrls.pp | 2 +- lcl/include/customsplitter.inc | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lcl/extctrls.pp b/lcl/extctrls.pp index ca5ec71fcd..8cd31f86c6 100644 --- a/lcl/extctrls.pp +++ b/lcl/extctrls.pp @@ -339,7 +339,7 @@ type procedure SetMinSize(const AValue: integer); protected class procedure WSRegisterClass; override; - procedure CheckAlignment; + function AdaptAnchors(const a: TAnchors): TAnchors; function CheckNewSize(var NewSize: Integer): Boolean; virtual; function CheckOffset(var NewOffset: Integer): Boolean; virtual; diff --git a/lcl/include/customsplitter.inc b/lcl/include/customsplitter.inc index dd72f6f860..7a09c9ff8f 100644 --- a/lcl/include/customsplitter.inc +++ b/lcl/include/customsplitter.inc @@ -777,7 +777,7 @@ begin else Cursor := crVSplit; - CheckAlignment; + Anchors:=AdaptAnchors(Anchors); // lfm contains correct size already if not (csLoading in ComponentState) then @@ -802,19 +802,22 @@ begin end; procedure TCustomSplitter.SetAnchors(const AValue: TAnchors); +var + NewValue: TAnchors; begin - if AValue = Anchors then exit; - inherited SetAnchors(AValue); - CheckAlignment; + NewValue:=AdaptAnchors(AValue); + if NewValue = Anchors then exit; + inherited SetAnchors(NewValue); end; -procedure TCustomSplitter.CheckAlignment; +function TCustomSplitter.AdaptAnchors(const a: TAnchors): TAnchors; begin + Result:=a; case Align of - alLeft: Anchors := Anchors - [akRight] + [akLeft]; - alTop: Anchors := Anchors - [akBottom] + [akTop]; - alRight: Anchors := Anchors + [akRight] - [akLeft]; - alBottom: Anchors := Anchors + [akBottom] - [akTop]; + alLeft: Result := Result - [akRight] + [akLeft]; + alTop: Result := Result - [akBottom] + [akTop]; + alRight: Result := Result + [akRight] - [akLeft]; + alBottom: Result := Result + [akBottom] - [akTop]; end; end;