const
tab_anzahl = 3;
var
tabstops: array[0..tab_anzahl - 1] of integer = (100, 175, 300);
procedure TForm1.Button2Click(Sender: TObject);
var
links, oben, x: integer;
s: array[0..2] of string;
begin
canvas.brush.style := bsClear;
SetTextAlign(canvas.handle, TA_LEFT); // TA_CENTER, TA_RIGHT usw.
s[0] := 'Das'#9'ist'#9'ein Test.';
s[1] := 'Dies ist eine Zeile ohne Tabs.';
s[2] := 'Und das'#9'ist die'#9'letzte Zeile.'#9'ENDE';
links := 100;
oben := 50;
for x := 0 to 2 do begin
TabbedTextOut(canvas.handle, links, oben, pchar(s[x]), length(s[x]),
tab_anzahl, tabstops, links);
inc(oben, canvas.textheight(s[x]));
end;
end;