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

Код:
unit MyCustomControl;

{$DEBUGINFO OFF}

interface

uses
  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;
  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;

end.

published свойства:

property Align;
property Anchors;
property Color;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;

published события:

property OnClick;
property OnEnter;
property OnExit;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;

помимо этого можно внутри компонента обрабатывать мышку до или после внешних событий (методов формы).
__________________
Пишу программы за еду.
__________________
Ответить с цитированием