Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Komponentenbreite an Textbreite anpassen

  Alt 24. Aug 2008, 09:16
Moin moin,

der Text im Memo geht doch vorne nie gleich beim allerersten Pixel los, sondern erst mit einem kleinen Offset rechts davon. Genauso endet die Textanzeige am rechten Memo-Rand auch schon etwas vorm letzt möglichen Pixel. Ergo musst du diese Versatzlängen zur eigentlichen TextWidth einfach immer noch dazuaddieren:


Delphi-Quellcode:
Offsets := 8; // 8, sonst schlägt das "WordWrap" zu, wenn dieses TRUE ist
Memo1.ClientWidth := Offsets + Label1.Canvas.TextWidth(Label1.Caption);
Übrigens kann man die Größe dieser Abstandsränder bei einem Memo oder einem RichEdit auch selbst auslesen bzw. selbst einstellen, und zwar mittels EM_GETRECT bzw. EM_SETRECT.


Auch schönen Sonntag noch,
mfg
  Mit Zitat antworten Zitat