[Delphi] rysowanie po pulpicie (slad za myszka)

[Delphi] rysowanie po pulpicie (slad za myszka)
  • Rejestracja: dni
  • Ostatnio: dni
0

Cze !!
Wie moze ktos jak mozna rysowac po pulpicie (nie chodzi mi o rysowanie gotowych figur tylko linii zgodnej z ruchem kursora) tak zeby kursor zostawial slad linii za soba (cos takiego jak olowek w paincie tylko ze bez klikniecia)
Pozdrawiam

Dryobates
  • Rejestracja: dni
  • Ostatnio: dni
0

To oczywiście jedno z najgorszych rozwiązań (wykorzystuje Timera). Należałoby odczytywać zmianę położenia myszy np. przez komunikaty lub hook'a.
TEkran to jest komponent, który stworzyłem sobie żeby parę podstawowych funkcji nie pisać wielokrotnie (właśnie wrzucam na serwer)

var
Ekran1: TEkran;

procedure TForm1.Timer1Timer(Sender: TObject);
var
Punkt: TPoint;
begin
GetCursorPos(Punkt);
Ekran1.Canvas.LineTo(Punkt.X,Punkt.Y);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Ekran1 := TEkran.Create(Form1);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Ekran1.Free;
end;

--
Jest jeszcze jeden błąd ... :)
--------Oficjalny kanał----------
Service for programmers w IRC:
Kanał: #4programmers.net
Serwer: warszawa.ircnet.pl
Sieć: POLNet
Port: 6667

mirekpil
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 481
0

Ja mam podobne rozwiązanie tyle że bez komponentu:

Wstaw TTimer, ustaw dla niego interval na 10.
w
private // zadeklaruj
punkt2 : TPoint;

a w ontimer:

procedure TForm1.Timer1Timer(Sender: TObject);
var Punkt:TPoint;
begin
Canvas.Handle:=GetWindowDC(GetDesktopWindow);
Canvas.MoveTo(punkt2.x,punkt2.Y);
GetCursorPos(Punkt);
Canvas.Lineto(Punkt.x,Punkt.y) ;
ReleaseDC(GetDesktopWindow, canvas.handle);
punkt2:=punkt;
end;

no może jeszcze w oncreate dla formy dobrze by było:

GetCursorPos(Punkt2);

p3p15
  • Rejestracja: dni
  • Ostatnio: dni
0

Czesc !!
To znowu ja dzieki za procedurki dzialaja bez zarzutow jastem wam niezmiernie wdzieczny
na razie
pozdrawiam

pq
  • Rejestracja: dni
  • Ostatnio: dni
0

Czesc !!
To znowu ja dzieki za procedurki dzialaja bez zarzutow jastem wam niezmiernie wdzieczny
na razie
pozdrawiam

Ale hook na ruchy mysza bylby porzadniejszy na pewno.

--
Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

  • Rejestracja: dni
  • Ostatnio: dni
0

a jak zrobić, żeby to co zostanie narysowane zostawało aż do momentu wyłączenia programu ?

  • Rejestracja: dni
  • Ostatnio: dni
0

Rysuj po bitmapie i ew w timerze wyświetlaj ją na pulpicie

cimak
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1668
0

mozna jeszcze ustawic pulpit jako parenta formy i rysowac bezposrednio po image.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.