![]() |
Richedit oder memo Höhe in Pixel ermitteln?
Hallo
über den RichEdit.Font konnte man seine Breite in Pixel ermitteln Ich versuche auch die höhe genauso zu berechnen ! Die höhe können wir über Font und Zeilen zahl Ermitteln oder ?
Delphi-Quellcode:
function GetLongestTextInPixcelInRichEdit(oRichedit : TRichEdit): Integer;
var i : Integer; oCanvas : TCanvas; begin result := 0; oCanvas := TCanvas.Create; oCanvas.Font.Assign(oRichedit.Font); oCanvas.Handle := GetDC(oRichedit.Handle); for i:=0 to oRichedit.Lines.Count-1 do begin if oCanvas.TextWidth(oRichedit.Lines[i]) > result then result := oCanvas.TextWidth(oRichedit.Lines[i]); end; oCanvas.Free; end; |
Re: Richedit oder memo Höhe in Pixel ermitteln?
Hallo,
Flocke hat in der Code-Library etwas hinterlegt das Dir helfen wird/kann: ![]() |
Re: Richedit oder memo Höhe in Pixel ermitteln?
wie wird die Funktion aufgerufen um die Breite und Höhe zu bekommen
|
Re: Richedit oder memo Höhe in Pixel ermitteln?
Moin,
die TRichEdit-Komponente benachrichtigt dich auf Wunsch, wenn du deren Abmessungen an den Inhalt anpassen möchtest:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.RichEditResizeRequest(Sender: TObject; Rect: TRect);
begin with Sender as TRichEdit do BoundsRect := Rect; end; |
Re: Richedit oder memo Höhe in Pixel ermitteln?
Hallo,
@marabu: auch eine Möglichkeit, je nachdem was man mit der Berechnung bezweckt. @Achim: Aufrufen kann man die Funkion von Flocke z.B. so:
Delphi-Quellcode:
var aPoint : TPoint;
begin aPoint := GetRichEditTextExtent(RichEdit.Handle,0,True,False); showmessage(IntToStr(aPoint.x)+' x '+IntToStr(aPoint.y)); |
Re: Richedit oder memo Höhe in Pixel ermitteln?
Es funktioniert, Danke sehr
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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 by Thomas Breitkreuz