Bitteschön: kurz zusammengetippt und getestet, sollte funktionieren:
Delphi-Quellcode:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var x : string;
var r : TRect;
begin
//--
x := 'Das ist ein' + #13#10 + 'langer Text mit Zeilenumbruch...'; // Test-String
//
r := Rect(0,0,0,0); // Rect mit Standardwerten setzen
// Left und Top zur Positionierung verwenden, Right und Bottom wird spaeter berechnet
//
with PaintBox1.Canvas do // Font-Eigenschaften setzen
begin
Font.Color := clBlue;
Font.Name := 'Arial';
Font.Style := [fsBold];
end;
//
// Die DrawText-Routine mit DT_CALCRECT als letzen Parameter zeichnet den Text nicht,
// sondern berechnet lediglich die Groesse (Right, Bottom) fuer das Rect
//
DrawText(PaintBox1.Canvas.Handle,PChar(x),Length(x),r,DT_CALCRECT);
//
// Ausgabe des Textes (linksbuendig)
//
DrawText(PaintBox1.Canvas.Handle,PChar(x),Length(x),r,0);
//
// ueber der letzten Parameter kann zudem der Text formatiert werden, beispielsweise
// mittig zentriert werden, etc.
//
end;
Kannst ja mal ein Test-Projekt machen mit einer Paintbox drauf und den obigen Code zum Zeichnen verwenden.
Bei Fragen einfach fragen
Patti