Clearing canvasa

0

Witam!

Mam takie (moze głupie) pytanie:
Jak wyczyścić canavsa i tylko canvasa (całego, bez staraty np. labela)

0

Dwie wskazówki:
Po pierwsze: Żadne komponenty typy Label itp. nie są elementami Canvas'a.
Po drugie: TCanvas + F1 -> Methods + Znajomość angielskiego lub TCanvas + Encyklopedia Delphi (na 4p) + Głowa i powinieneś znaleźć...

0

Labele nie są elementami Canvasa ale po np FillRect(ClientRect) się tracą

Canvas nie ma metody która go czyści

0

Jeśli tak, to po FillRect, Walnij Label1.Refresh, czy jakoś tak...

0

Thanks you very mocz! [browar]

Teraz lebele nie znikają i mój problem jest rozwiązany ale poostaje pytanie czy jest coś co czyści canvasa

0

Już kiedyś pisałem. Nie wiem czy to najopytmalniejsza metoda, ale przynajmniej najprostsza canvas.rectangle(-1,-1,width+1,height+1) przy standardowych ustawieniach zamaluje nam płótno na biało.

0

Coś jakby labele dalej znikają...

A jak sie ma ze 10 labeli i każdy refresh to troche dużo pisania...

0

W DSPacku jest procedura czyszcząca canvas. Można skopiować.

0

Lub tak:

for i:=0 to ComponentCount-1 do
  if (Components[i] is TControl) then (Components[i] as TControl).Refresh;

Bo TLabel to TControl, a TControl rysują właściwie po canvasie formy, bo nie mają własnego okna w przeciwieństeie do TWinControl, które w pętli możemy pominąć, bo jak pomalujesz canvas formy to pomalujesz tez to co TControl namalowalo, bo ... :-) .

0

Upss.. czegoś nie wiem...
Co to jest DSPack

0

Upss.. czegoś nie wiem...
Co to jest DSPack

Poczytaj sobie, będziesz wiedział :http://sourceforge.net/projects/dspack
Sczerze mówiąc nie widze żadnego probemu w poszukaniu frazy "DSPack" na Googlach, Endrju. Tym bardziej że jest to dosyć populatny pakiet. (http://4programmers.net/Forum/viewtopic.html?id=45094)

0

Sczerze mówiąc nie widze... w słowniku słowa populatny! ;-)

qua to ma 1,7 MB! (ach ten mój modem)

Napisze coś innego jak się ściągne...

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