unit
HREdit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
type
THREdit =
class
(TEdit)
private
fDragable:
Boolean
;
protected
procedure
MouseDown(Button: TMouseButton;Shift: TShiftState;
X, Y:
Integer
);override;
public
Constructor
Create(AOwner:TComponent);override;
Destructor
Destroy;override;
published
property
Dragable:
Boolean
read fDragable
write
fDragable;
end
;
procedure
Register;
implementation
procedure
Register;
begin
RegisterComponents(
'HEADROOM DEVELOPMENT'
, [THREdit]);
end
;
constructor
THREdit
.
Create(AOwner: TComponent);
begin
inherited
Create(AOwner);
end
;
destructor
THREdit
.
Destroy;
begin
inherited
;
end
;
procedure
THREdit
.
MouseDown(Button: TMouseButton;
Shift: TShiftState; X,
Y:
Integer
);
const
SC_DragMove =
$F012
;
begin
inherited
;
if
assigned(onMouseDown)
then
OnMouseDown(self,Button,Shift,x,y);
if
fDragable
then
begin
ReleaseCapture;
(self
as
TControl).perform(WM_SysCommand, SC_DragMove,
0
);
end
;
end
;
end
.
Комментарии