Evo iz glave, verovatno nesto fali:
(pseudo)code:
Code:
...
...
//pre svega
var
MyRect: TShape;
MbDown: Boolean;
...
procedure TForm1.FormMouseDown...
begin
MyRect := TShape.Create(Self);
MyRect.Parent := Self;
MyRect.SetBounds(ScreenToClient(Mouse.CursorPos).X, ScreenToClient(Mouse.CursorPos).Y, 0, 0);
MbDown := True;
//Ovaj deo je potreban ako hoces da crtas jos preko postojecih prav.
MyRect.OnMouseDown := FormMouseDown;
MyRect.OnMouseUp := FormMouseUp;
MyRect.OnMouseMove := FormMouseMove;
end;
procedure TForm1.FormMouseMove...
begin
if MbDown then
MyRect.SetBounds(MyRect.Left, MyRect.Top, ScreenToClient(Mouse.CursorPos).X - MyRect.Left, ScreenToClient(Mouse.CursorPos).Y - MyRect.Top);
end;
procedure TForm1.FormMouseUp...
begin
MbDown := False;
end;
procedure TForm1.FormCreate...
begin
DoubleBuffered := True;
end;
Nadam se da je to to