1) WinAPI: SetCursorPos(x, y); x, y = screen coordinates
2) Self.Canvas.DrawFocusRect(r: TRect);
Otprilike ovako, na brzinu (da bi zaista radilo treba malo da se zezas s ovim top/bottom i left/right, ovako radi samo u slucaju da vuces misa s leva nadesno i odozgo prema dole):
Code:
var
r: TRect;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
r.Top := y;
r.Left := x;
r.Bottom := y;
r.Right := x;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in shift then
begin
self.Canvas.DrawFocusRect(r);
r.Bottom := y;
r.Right := x;
self.Canvas.DrawFocusRect(r);
end;
end;
Naravno, treba i na mouse up da se obrise selekcija.
ss.
When something is hard to do, then it's not worth doing.