Witam!
Mam takie (moze głupie) pytanie:
Jak wyczyścić canavsa i tylko canvasa (całego, bez staraty np. labela)
Witam!
Mam takie (moze głupie) pytanie:
Jak wyczyścić canavsa i tylko canvasa (całego, bez staraty np. labela)
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źć...
Labele nie są elementami Canvasa ale po np FillRect(ClientRect) się tracą
Canvas nie ma metody która go czyści
Jeśli tak, to po FillRect, Walnij Label1.Refresh, czy jakoś tak...
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
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.
Coś jakby labele dalej znikają...
A jak sie ma ze 10 labeli i każdy refresh to troche dużo pisania...
W DSPacku jest procedura czyszcząca canvas. Można skopiować.
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 ... :-) .
Upss.. czegoś nie wiem...
Co to jest DSPack
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)
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...