TextRect von Canvas geht nicht mehr

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

TextRect von Canvas geht nicht mehr

Beitrag von pluto »

Hallo,
ich wollte die TextRect Funktion von Canvas verwendet jedoch wird nicht das Ergebnis gezeichnet was ich erwartet hätte. Darauf hin habe ich ein Beispiel Programm geschrieben da geht es auch nicht:

Code: Alles auswählen

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  r:Trect;
begin
  r.left:=100; r.top:=10;
  r.Right:=r.left+100;
  r.Bottom:=r.Top+300;
 
  PaintBox1.Canvas.TextRect(r,r.left,r.top,'Hallo du da wie geht es dir so gut, dann ist ja gut prima, und morgen ?');
end;
so rufe ich es auf, der text wird zwar gezeichnet, aber nicht umgebrochen, und ich meine das ging mit TextRect.

Mein Ziel ist es eigentlich ein Text in einem Bestimmten Rect auf den Canvas zuzeichnen, und der Text soll das Komplette Rect ausnutzen.
Ich würde gerne wissen, wo mein Fehler Liegt. hat da jemand von euch eine Idee oder ein Hinweis ?
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Du hast den TTextStyle Parameter nicht angegeben.

Style.Wordbreak:=true;
Style.Singleline:=false;
PaintBox1.Canvas.TextRect(r,r.left,r.top,'Hallo du da wie geht es dir so gut, dann ist ja gut prima, und morgen ?',Style);

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Vielen Dank ! Ich hatte die Text Style Eigenschaft von Canvas verändert, und den dann als Parameter übergeben, aber das klappte nicht, ich muss wohl einen eigene variable Definieren so wie in deinem Beispiel, so geht es, aber ich meine am Anfang als ich mit Lazarus anfing, ging das auch ohne. Naja haupt sache so geht es.
MFG
Michael Springwald

Antworten