Показать сообщение отдельно
  #27  
Старый 07.08.2011, 13:46
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
unit MyCustomControl;

{$DEBUGINFO OFF}

interface

uses
  Graphics, Classes, Controls;

type
  TMyCustomControl = class(TCustomControl)
  protected
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure Paint; override;
  published
    property Align;
    property Anchors;
    property Color;
    property PopupMenu;
    property ShowHint;
    property TabOrder;
    property TabStop;
    property Visible;
    property OnClick;
    property OnEnter;
    property OnExit;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnResize;
  end;

procedure Register;

implementation

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

{ TMyCustomControl }

procedure TMyCustomControl.MouseDown(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  // обработка нажатия мыши внутри компонента до OnMouseDown
  inherited;
  // обработка нажатия мыши внутри компонента после OnMouseDown
end;

procedure TMyCustomControl.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
  // обработка перемещения мыши внутри компонента до OnMouseMove
  inherited;
  // обработка перемещения мыши внутри компонента после OnMouseMove
end;

procedure TMyCustomControl.MouseUp(Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  // обработка отпускания мыши внутри компонента до OnMouseUp
  inherited;
  // обработка отпускания мыши внутри компонента после OnMouseUp
end;

procedure TMyCustomControl.Paint;
begin
  Canvas.Brush.Color:=Color;
  Canvas.FillRect(ClientRect);
  Canvas.Pen.Color:=clBlack;
  Canvas.MoveTo(0, 0);
  Canvas.LineTo(Width, Height);
  Canvas.MoveTo(Width, 0);
  Canvas.LineTo(0, Height);
end;

end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием