AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richedit oder memo Höhe in Pixel ermitteln?

Ein Thema von thomas2009 · begonnen am 30. Jul 2008 · letzter Beitrag vom 1. Aug 2008
Antwort Antwort
thomas2009
(Gast)

n/a Beiträge
 
#1

Richedit oder memo Höhe in Pixel ermitteln?

  Alt 30. Jul 2008, 19:51
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;
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

Re: Richedit oder memo Höhe in Pixel ermitteln?

  Alt 30. Jul 2008, 21:05
Hallo,

Flocke hat in der Code-Library etwas hinterlegt das Dir helfen wird/kann:
RichEdit: Breite und Höhe des Inhalts bestimmen
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#3

Re: Richedit oder memo Höhe in Pixel ermitteln?

  Alt 30. Jul 2008, 23:10
wie wird die Funktion aufgerufen um die Breite und Höhe zu bekommen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Richedit oder memo Höhe in Pixel ermitteln?

  Alt 31. Jul 2008, 06:56
Moin,

die TRichEdit-Komponente benachrichtigt dich auf Wunsch, wenn du deren Abmessungen an den Inhalt anpassen möchtest:

Delphi-Quellcode:
procedure TDemoForm.RichEditResizeRequest(Sender: TObject; Rect: TRect);
begin
  with Sender as TRichEdit do
    BoundsRect := Rect;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: Richedit oder memo Höhe in Pixel ermitteln?

  Alt 31. Jul 2008, 11:18
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));
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#6

Re: Richedit oder memo Höhe in Pixel ermitteln?

  Alt 1. Aug 2008, 00:45
Es funktioniert, Danke sehr
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 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