![]() |
RichEdit: Textbreite
Hi,
Gibt es eine Funktion, welche mir die Breite des Textes einer Zeile im RichEdit! zurückliefert? |
Re: RichEdit: Textbreite
|
Re: RichEdit: Textbreite
Hi,
Danke für deine Antwort. Aber ich glaube die Lösung ist nicht so einfach. Habe die gesamte DP u. Google PAQ durchwühlt. Im RichEdit kann jedes Zeichen eine andere Schrift haben (rtf!), auch der Abstand zwischen den Buchstaben könnte Variabel sein. Für den Moment genügt mir aber mal eine Funktion, welche die Länge einer bestimmten Zeile zurückgibt. Hab mir diese Funktion Zusammengestellt:
Delphi-Quellcode:
Für weitere Ideen bin nich offen.
function RE_RowWidth(re: TRichedit; Row: Integer): Integer;
var cv: TControlCanvas; Begin with re do begin SelStart := Perform(EM_LINEINDEX, Row, 0); SelLength := Length(Lines[Row]); end; cv:= TControlCanvas.Create; Try cv.Control := re; cv.Font.Assign(re.SelAttributes); Result := cv.TextWidth(re.Lines[row]); Finally cv.Free; End; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz