Odświeżanie canvasa

0
var
  prostokat: TRect;
begin
  Canvas.Handle:=GetWindowDC(GetDesktopWindow);
  prostokat:=Rect(x,y,x+20,y+20); {x i y to współrzędne kursora myszy}
  Canvas.Brush.Color:=clLime;
  // TU MUSI BYĆ FUNKCJA USUWAJĄCA POPRZEDNI PROSTOKĄT
  Canvas.FrameRect(prostokat);
end;

Ta bardziej istotna część programu. Chodzi mi tak jak napisałem w komentarzu w programie o funkcje która będzie czyścić Canvas. (Czyścić nie zamalowywać na jakiś kolor). W takiej formie program zaznacza pozycje kursora poprawnie lecz pozostawia za sobą ciąg kwadratów.
Będę bardzo wdzięczny za pomoc :d

0
Canvas.Refresh;
0

Gdyby to było takie proste hehe

procedure TForm1.Timer1Timer(Sender: TObject);
var
  MousePos: TPoint;
  x,y:integer;
  prostokat: TRect;
begin
  GetCursorPos(MousePos);
  x:= MousePos.X ;
  y:= MousePos.Y ;

  Canvas.Handle:=GetWindowDC(GetDesktopWindow);
  prostokat:=Rect(x,y,x+20,y+20);
  Canvas.Brush.Color:=clLime;

  Canvas.FrameRect(prostokat);
end;

wrzucam cały kod z timera niestety canvas.refresh nie działa

0
var
  MousePos: TPoint;
  x,y:integer;
  prostokat: TRect;
begin
  GetCursorPos(MousePos);
  x:= MousePos.X;
  y:= MousePos.Y;

  Canvas.Handle := GetWindowDC(GetDesktopWindow);
  prostokat:=Rect(x,y,x+20,y+20);
  Canvas.Brush.Color:=clLime;
  Canvas.FrameRect(prostokat);

  invalidate;
end;

źródło: Misiekd

0

Niestety nie działa :/

0

tzn dziala tylko dla formy programu, na pulpicie i innych programach wciaz pozostaja slady

0

To może zadelaruj golbalną Bitmape, i włóż do niej screena pulpitu a potem z niej wczytuj przez

Canvas.Draw(0, 0, MojaBitmapa);
0

Nie moge na screenie tego zrobic niestety :/
Ogolnie dzialanie tego programu ma wygladac mniej wiecej tak ze program ma sledzic polozenie bialej bili na stole bilardowej (w gdze on-line ) i chcialem zrobic do tego obrys bili kwadratem, dlatego to wszystko musi byc dynamiczne wiec screen odpada :/
P.S. moze macie inne pomysly na zrobienie obrysu ?

naprawdę nikt nie ma pomysłu ?

0

Daj tryb xor białym kolorem, rysujesz kwadrat dwukrotnie i on znika.

0

można trochę jaśniej

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0