line.pas

来自「详细说明:毕业论文中关于小型宾馆管理系统的详细设计毕 业论文中关于小型宾馆...」· PAS 代码 · 共 118 行

PAS
118
字号

// *                                           * //
// *  TAdvLine VCL Component                   * //
// *   Version 1.0                             * //
// *                                           * //

unit Line;

interface

uses WinTypes, WinProcs, Messages, SysUtils, Classes, Controls,
     Forms, Graphics;

type
  TLine = class(TCustomControl)
    private
        FColor : TColor;

        procedure AutoInitialize;
        procedure AutoDestroy;
        procedure Paint; override;

    protected
        procedure Click; override;
        procedure KeyPress(var Key : Char); override;
        procedure Loaded; override;

    public
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;

    published
        property OnClick;
        property OnDblClick;
        property OnDragDrop;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnKeyUp;
        property OnKeyDown;
        property OnKeyPress;
        property OnEnter;
        property OnExit;
        property Color : TColor read FColor write FColor default clBlack;

  end;

procedure Register;

implementation

procedure Register;
begin
     RegisterComponents('Samples', [TLine]);
end;

procedure Tline.AutoInitialize;
begin
     FColor := clBlack;
end;

procedure Tline.AutoDestroy;
begin

end;

procedure Tline.Click;
begin

end;

procedure Tline.KeyPress(var Key : Char);
const
     TabKey = Char(VK_TAB);
     EnterKey = Char(VK_RETURN);
begin
     inherited KeyPress(Key);
end;

constructor Tline.Create(AOwner: TComponent);
begin
     inherited Create(AOwner);
     AutoInitialize;
end;

destructor Tline.Destroy;
begin
     AutoDestroy;
     inherited Destroy;
end;

procedure Tline.Loaded;
begin
     inherited Loaded;
end;

procedure Tline.Paint;
begin
     Canvas.Brush.Color := FColor;
     Canvas.MoveTo(0, 0);
     Canvas.LineTo(Width, Height);

     if Height <= 10 then
      begin
      Canvas.MoveTo(Width, Height-1);
      Canvas.LineTo(0, 0);
      end;

     if Width <= 10 then
      begin
      Canvas.MoveTo(Width-1, Height);
      Canvas.LineTo(0, 0);
      end;  
end;


end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?