⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jslabelcontrol.pas

📁 销售软件
💻 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 + -