mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-07 21:18:17 +02:00
LCL/extctrls: Add new TCustomPanel/TPanel property VerticalAlignment which exists in Delphi.
This commit is contained in:
parent
646cea3c3f
commit
13f4f576ab
@ -1068,6 +1068,7 @@ type
|
|||||||
FBevelInner, FBevelOuter : TPanelBevel;
|
FBevelInner, FBevelOuter : TPanelBevel;
|
||||||
FBevelWidth : TBevelWidth;
|
FBevelWidth : TBevelWidth;
|
||||||
FAlignment : TAlignment;
|
FAlignment : TAlignment;
|
||||||
|
FVertAlignment: TVerticalAlignment;
|
||||||
FFullRepaint: Boolean;
|
FFullRepaint: Boolean;
|
||||||
FWordWrap: Boolean;
|
FWordWrap: Boolean;
|
||||||
procedure PaintBevel(var ARect: TRect; ABevel: TPanelBevel);
|
procedure PaintBevel(var ARect: TRect; ABevel: TPanelBevel);
|
||||||
@ -1076,6 +1077,7 @@ type
|
|||||||
procedure SetBevelInner(const Value: TPanelBevel);
|
procedure SetBevelInner(const Value: TPanelBevel);
|
||||||
procedure SetBevelOuter(const Value: TPanelBevel);
|
procedure SetBevelOuter(const Value: TPanelBevel);
|
||||||
procedure SetBevelWidth(const Value: TBevelWidth);
|
procedure SetBevelWidth(const Value: TBevelWidth);
|
||||||
|
procedure SetVertAlignment(const Value: TVerticalAlignment);
|
||||||
procedure SetWordwrap(const Value: Boolean);
|
procedure SetWordwrap(const Value: Boolean);
|
||||||
protected
|
protected
|
||||||
class procedure WSRegisterClass; override;
|
class procedure WSRegisterClass; override;
|
||||||
@ -1088,6 +1090,7 @@ type
|
|||||||
procedure Paint; override;
|
procedure Paint; override;
|
||||||
procedure SetParentBackground(const AParentBackground: Boolean); override;
|
procedure SetParentBackground(const AParentBackground: Boolean); override;
|
||||||
procedure UpdateParentColorChange;
|
procedure UpdateParentColorChange;
|
||||||
|
property VerticalAlignment: TVerticalAlignment read FVertAlignment write SetVertAlignment default taVerticalCenter;
|
||||||
property WordWrap: Boolean read FWordwrap write SetWordwrap default false;
|
property WordWrap: Boolean read FWordwrap write SetWordwrap default false;
|
||||||
public
|
public
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
@ -1146,6 +1149,7 @@ type
|
|||||||
property TabOrder;
|
property TabOrder;
|
||||||
property TabStop;
|
property TabStop;
|
||||||
property UseDockManager default True;
|
property UseDockManager default True;
|
||||||
|
property VerticalAlignment;
|
||||||
property Visible;
|
property Visible;
|
||||||
property Wordwrap;
|
property Wordwrap;
|
||||||
property OnChangeBounds;
|
property OnChangeBounds;
|
||||||
|
@ -34,6 +34,7 @@ begin
|
|||||||
FBevelInner := bvNone;
|
FBevelInner := bvNone;
|
||||||
FBevelWidth := 1;
|
FBevelWidth := 1;
|
||||||
FAlignment := taCenter;
|
FAlignment := taCenter;
|
||||||
|
FVertAlignment := taVerticalCenter;
|
||||||
FFullRepaint := True;
|
FFullRepaint := True;
|
||||||
Color := {$ifdef UseCLDefault}clDefault{$else}clBtnFace{$endif};
|
Color := {$ifdef UseCLDefault}clDefault{$else}clBtnFace{$endif};
|
||||||
with GetControlClassDefaultSize do
|
with GetControlClassDefaultSize do
|
||||||
@ -83,6 +84,15 @@ begin
|
|||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomPanel.SetVertAlignment(const Value: TVerticalAlignment);
|
||||||
|
begin
|
||||||
|
if FVertAlignment <> Value then
|
||||||
|
begin
|
||||||
|
FVertAlignment := Value;
|
||||||
|
Invalidate;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCustomPanel.SetWordwrap(const Value: Boolean);
|
procedure TCustomPanel.SetWordwrap(const Value: Boolean);
|
||||||
begin
|
begin
|
||||||
if FWordwrap <> Value then
|
if FWordwrap <> Value then
|
||||||
@ -126,7 +136,9 @@ begin
|
|||||||
// Note: Frame3D inflates ARect
|
// Note: Frame3D inflates ARect
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomPanel.Paint;
|
procedure TCustomPanel.Paint;
|
||||||
|
const
|
||||||
|
VerticalAlignmentToTextLayout: array[TVerticalAlignment] of TTextLayout = (tlTop, tlBottom, tlCenter);
|
||||||
var
|
var
|
||||||
ARect: TRect;
|
ARect: TRect;
|
||||||
TS : TTextStyle;
|
TS : TTextStyle;
|
||||||
@ -143,7 +155,7 @@ begin
|
|||||||
TS.Alignment := BidiFlipAlignment(Self.Alignment, UseRightToLeftAlignment);
|
TS.Alignment := BidiFlipAlignment(Self.Alignment, UseRightToLeftAlignment);
|
||||||
if BiDiMode<>bdLeftToRight then
|
if BiDiMode<>bdLeftToRight then
|
||||||
TS.RightToLeft:= True;
|
TS.RightToLeft:= True;
|
||||||
TS.Layout:= tlCenter;
|
TS.Layout:= VerticalAlignmentToTextlayout[FVertAlignment];
|
||||||
TS.Opaque:= false;
|
TS.Opaque:= false;
|
||||||
TS.Clipping:= false;
|
TS.Clipping:= false;
|
||||||
TS.SystemFont:=Canvas.Font.IsDefault;
|
TS.SystemFont:=Canvas.Font.IsDefault;
|
||||||
|
Loading…
Reference in New Issue
Block a user