To kod:

S:='Podstawa prawna upoważniająca do pozyskania danych albo wskazanie wiarygodnosci uzasadnionej potrzeby posiadania danych w przypadku osób innych niż wymienione w art. 29 ust. 1 ustawy o ochronie danych osobowych.';
r:=Rect(20,20,200,500);
DrawText(Canvas.Handle, Pchar(S), -1, R, DT_CALCREcT or DT_WORDBREAK);
DrawText(Canvas.Handle, PChar(S), -1, R, DT_WORDBREAK);

r:=Rect(20,Canvas.TextHeight(S),200,500);
S:='W celu prowadzenia egzekucji administracyjnej oraz ewentualnego zabezpieczenia należnosci na rzecz Skarbu Państwa.';
DrawText(Canvas.Handle, PChar(S), -1, R, DT_WORDBREAK);

Jak widac przy pierwszym rysowaniu uzylem WORDBREAK czyli przy dlugim tekscie bedzie mi przechodzil do kolejnej lini, wychodzi ze mam 4 linie tekstu, jest jakas funkcja która zwraca mi wysokosc calego bloczku? Bo TextHeight nie dziala, zwraca tylko wysokosc pierwszej lini a chcialbym wysokosc calych 4 lini tak zeby kolejny tekst wyswietlic tuż pod pierwszym (przez uzycie CALCRECT nie wiem ile wynosi nowa wysokosc Rect)

EDIT: Juz nie aktualne, wystarczy w nowym RECT napisac: r:=Rect(20,R.Bottom,500,200);