PDA

Zobacz pełną wersję : [DELPHI]napis na pulpicie



AdamKsobny
16-08-07, 22:21
Mam taki problem:
W timer rysuję napis na pulpicie tak:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.Brush.Style := bsClear; // tło rysowanego tekstu ? przezroczyste
canvas.Handle:=getwindowDC(getdesktopwindow);
Canvas.TextOut(60, 60, 'NAPISl');
end;

Chcę aby ten napis pojawiał się i znikał. I właśnie jak zrobić by znikał?
odświeżanie pulpitu powoduje że mrugają ikony,
przeźroczysta forma jest rozwiązaniem ale to tylko powyżej Windowsa XP , w starszych systemach to chyba nie działa. Gdy sprawdzałem program pod win 98 forma nie chce być przeźroczysta.
Będę wdzięczny za pomoc.

RRybak
19-08-07, 12:52
Zapamiętaj fragment obrazu pod tekstem (rozmiar dostaniesz z szerokości i wysokości tekstu aktualną czcionką - z metod Canvas'u). Narysuj tekst, po sekundzie (na przykład) przerysuj go zapamiętanym fragmentem pulpitu. Oczywiście możesz przygotować bitmapę z tekstem i na przemian rysować je w określonym miejscu.
Jeśli się nie mylę, to była funkcja BitBlt - jedna z ciekawszych. Do tego same Canvasy powinny mieć jakieś metody kopiowania i wstawiania bloków obrazu, ale niestety nie jestem tego pewien, bo nie pamiętam ani jednej nazwy ;-)