04.08.2011, 11:59
|
|
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;
помимо этого можно внутри компонента обрабатывать мышку до или после внешних событий (методов формы).
__________________
Пишу программы за еду.
__________________
|