mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 05:39:17 +02:00
LCL: TLabel added DoMeasureTextPosition from Luiz Americo Pereira Camara
git-svn-id: trunk@11830 -
This commit is contained in:
parent
13c2b40e20
commit
73d0ae53b0
@ -174,6 +174,24 @@ begin
|
|||||||
Result:=false;
|
Result:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomLabel.DoMeasureTextPosition(var TextTop: integer;
|
||||||
|
var TextLeft: integer);
|
||||||
|
var
|
||||||
|
lTextHeight: integer;
|
||||||
|
lTextWidth: integer;
|
||||||
|
begin
|
||||||
|
TextLeft := 0;
|
||||||
|
if Layout = tlTop then begin
|
||||||
|
TextTop := 0;
|
||||||
|
end else begin
|
||||||
|
CalcSize(lTextWidth, lTextHeight);
|
||||||
|
case Layout of
|
||||||
|
tlCenter: TextTop := (Height - lTextHeight) div 2;
|
||||||
|
tlBottom: TextTop := Height - lTextHeight;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TCustomLabel.Create(TheOwner: TComponent);
|
constructor TCustomLabel.Create(TheOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited Create(TheOwner);
|
inherited Create(TheOwner);
|
||||||
@ -364,7 +382,6 @@ var
|
|||||||
TR : TTextStyle;
|
TR : TTextStyle;
|
||||||
R : TRect;
|
R : TRect;
|
||||||
TextLeft, TextTop: integer;
|
TextLeft, TextTop: integer;
|
||||||
lTextWidth, lTextHeight: integer;
|
|
||||||
LabelText: string;
|
LabelText: string;
|
||||||
begin
|
begin
|
||||||
R := Rect(0,0,Width,Height);
|
R := Rect(0,0,Width,Height);
|
||||||
@ -412,16 +429,7 @@ begin
|
|||||||
SystemFont:=false;
|
SystemFont:=false;
|
||||||
RightToLeft:=UseRightToLeftReading;
|
RightToLeft:=UseRightToLeftReading;
|
||||||
end;
|
end;
|
||||||
TextLeft := R.Left;
|
DoMeasureTextPosition(TextTop, TextLeft);
|
||||||
if Layout = tlTop then begin
|
|
||||||
TextTop := R.Top;
|
|
||||||
end else begin
|
|
||||||
CalcSize(lTextWidth, lTextHeight);
|
|
||||||
case Layout of
|
|
||||||
tlCenter: TextTop := (R.Bottom - R.Top - lTextHeight) div 2;
|
|
||||||
tlBottom: TextTop := R.Bottom - R.Top - lTextHeight;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
//debugln('TCustomLabel.Paint ',dbgs(Alignment=tacenter),' ',dbgs(Layout=tlCenter),' ',dbgs(TextLeft),' TextTop=',dbgs(TextTop),' ',dbgs(R));
|
//debugln('TCustomLabel.Paint ',dbgs(Alignment=tacenter),' ',dbgs(Layout=tlCenter),' ',dbgs(TextLeft),' TextTop=',dbgs(TextTop),' ',dbgs(R));
|
||||||
LabelText := GetLabelText;
|
LabelText := GetLabelText;
|
||||||
if not Enabled then begin
|
if not Enabled then begin
|
||||||
|
@ -1346,6 +1346,8 @@ type
|
|||||||
procedure SetOptimalFill(const AValue: Boolean);
|
procedure SetOptimalFill(const AValue: Boolean);
|
||||||
protected
|
protected
|
||||||
function CanTab: boolean; override;
|
function CanTab: boolean; override;
|
||||||
|
procedure DoMeasureTextPosition(var TextTop: integer;
|
||||||
|
var TextLeft: integer); virtual;
|
||||||
function HasMultiLine : boolean;
|
function HasMultiLine : boolean;
|
||||||
procedure CalcSize(var AWidth, AHeight: integer);
|
procedure CalcSize(var AWidth, AHeight: integer);
|
||||||
procedure DoAutoSize; override;
|
procedure DoAutoSize; override;
|
||||||
|
Loading…
Reference in New Issue
Block a user