Porada ta jest kontynuację artykułu Rysowanie po pulpicie.Ma ona na celu poznanie możliwości wypisywania na dowolnej aplikacji tekstu wraz z opcją formatowania tego tekstu.
A więc po kolei.
Aby wykonywać wszelkie operacje graficzne na obiektach posiadających swój Canvas, należy uzyskać uchwyt urządzenia.Uzyskamy go za pomocą funkcji
GetDC, która jeśli jako argument przyjmie 0, to uzyskamy uchwyt do pulpitu.Funkcja GetDC zwraca uchwyt do okna, o ile ono istnieje.Możne także skorzystać z alternatywnej funkcji GetWindowsDC, np. przy wpisywaniu tekstu na oknach programów.Z tak uzyskanym uchwytem Handle, można wykonywać np. rysowanie czy wypisywanie tekstu.
Do wypisania tekstu skorzystamy z funkcji
TextOut(int x, int y, String napis) gdzie:
x i y to współrzędne lewego górnego rogu napisu a napis to żądany tekst do wypisania na ekranie.
PrzykładW poniższym przykładzie zostanie wypisany tekst czcionką Comic Sans MS, rozmiar czcionki 36, kolor czcionki zielony a tło napisu żółte.
void __fastcall TForm1::Button1Click(TObject *Sender)
{HWND h = GetDC(0);
TCanvas *C = new TCanvas;
C->Handle = h;
TFont *Font = new TFont;
Font->Name = "Comis Sans MS";
Font->Size = 36;
Font->Color = clGreen;
Font->Style = TFontStyles() << fsBold;
C->Brush->Color = clYellow;
C->Font = Font;
C->TextOutA(100, 100, "http://doctor.programuj.com");
ReleaseDC(0, C->Handle);
delete C, Font;
}