Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RichEdit: Textbreite (https://www.delphipraxis.net/19919-richedit-textbreite.html)

toms 10. Apr 2004 21:22


RichEdit: Textbreite
 
Hi,

Gibt es eine Funktion, welche mir die Breite des Textes einer Zeile im RichEdit!
zurückliefert?

Robert_G 11. Apr 2004 00:20

Re: RichEdit: Textbreite
 
Klick
Oder in der CodeLib [cl:c2239a7805=Länge Text] :roll: Länge UND Text [/cl:c2239a7805]

toms 11. Apr 2004 07:50

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:
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;
Für weitere Ideen bin nich offen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz