07.08.2011, 13:46
|
|
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.
__________________
Пишу программы за еду.
__________________
|