|
Фидошник едет в тpоллейбyсе и оpет: - Сакс, сакс!!!! Бабyлька pядом говоpит емy: - Hy что все сакс, да сакс... Ты еще какие-нибyдь слова знаешь? - Да, Windows... - А что это? - САКС!!!!!
type TForm1 = class(TForm) Button1: TButton; procedure Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private {Private declarations} public {Public declarations} MouseDownPoint : TPoint; Moving : bool; end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ssCtrl in Shift then begin SetCapture(Button1.Handle); Moving := true; MouseDownPoint.X := x; MouseDownPoint.Y := Y; end; end;
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if Moving then begin Button1.Left := Button1.Left - (MouseDownPoint.x - x); Button1.Top := Button1.Top - (MouseDownPoint.y - y); end; end;
procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Moving then begin ReleaseCapture; Moving := false; Button1.Left := Button1.Left - (MouseDownPoint.x - x); Button1.Top := Button1.Top - (MouseDownPoint.y - y); end; end;
|