📄 jslabelcontrol.pas
字号:
unit JSLabelControl;
interface
uses
SysUtils,
Classes,
Controls,
StdCtrls,
ExtCtrls;
type
TJSControlPosition = (cpLeft, cpTop, cpRight, cpBottom);
TJSLabelControl = class(TPanel)
private
m_lblControl: TLabel;
m_pnlControl: TPanel;
m_cpControl: TJSControlPosition;
procedure SetControlPosition(const Value: TJSControlPosition);
procedure SetControlPanel(const Value: TPanel);
procedure SetControlLabel(const Value: TLabel);
function GetCaption: string;
procedure SetCaption(const Value: string);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property ControlPosition: TJSControlPosition
read m_cpControl
write SetControlPosition
default cpRight;
property ControlPanel: TPanel
read m_pnlControl
write SetControlPanel;
property ControlLabel: TLabel
read m_lblControl
write SetControlLabel;
property Caption: string
read GetCaption
write SetCaption;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Jerk System', [TJSLabelControl]);
end;
{ TJSLabelControl }
constructor TJSLabelControl.Create(AOwner: TComponent);
begin
inherited;
BevelOuter := bvNone;
m_cpControl := cpRight;
inherited Caption := EmptyStr;
// TODO: 载入标签
m_lblControl := TLabel.Create(Self);
with m_lblControl do
begin
Parent := Self;
Align := alLeft;
Visible := True;
end;
// TODO: 载入面版
m_pnlControl := TPanel.Create(Self);
with m_pnlControl do
begin
Parent := Self;
Caption := EmptyStr;
Align := alClient;
BevelOuter := bvNone;
Visible := True;
end;
end;
destructor TJSLabelControl.Destroy;
begin
if m_lblControl <> nil then
FreeAndNil(m_lblControl);
if m_pnlControl <> nil then
FreeAndNil(m_pnlControl);
inherited;
end;
function TJSLabelControl.GetCaption: string;
begin
Result := m_lblControl.Caption;
end;
procedure TJSLabelControl.SetCaption(const Value: string);
begin
m_lblControl.Caption := Value;
end;
procedure TJSLabelControl.SetControlLabel(const Value: TLabel);
begin
m_lblControl := Value;
end;
procedure TJSLabelControl.SetControlPanel(const Value: TPanel);
begin
m_pnlControl := Value;
end;
procedure TJSLabelControl.SetControlPosition(const Value: TJSControlPosition);
begin
m_cpControl := Value;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -