Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
588 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Höhe eines Textes in einem Memo ermitteln

  Alt 15. Jun 2018, 15:10
Hallo,

ich habe mal mit folgendem Code:

Delphi-Quellcode:
  
procedure TFormMain.MemoAuftragChange(Sender: TObject);
var
  r: TRectF;
begin

// Font nochmal übergeben sonst funktioniert Measuretext nicht!
  TMemo(Sender).Canvas.Font.Assign(TMemo(Sender).Font);
  r := RectF(0, 0, TMemo(Sender).ViewportSize.Width, 20000);
  TMemo(Sender).Canvas.MeasureText(r, TMemo(Sender).text, true, [],
    TTextAlign.Leading, TTextAlign.Leading);
  LabelScrollHinweis.Visible := r.Bottom > TMemo(Sender).ViewportSize.Height;
versucht, ein Label mit " v v v v v " im Memo anzeigen zu lassen.
Das funktioniert mit 2 Einschränkungen:

1) das Label hat als Parent das Memo und ist Align = alCenter und wird dort auch wie gewünscht angezeigt.
Scrollt man nun im Text bewegt sich das Label mit!
2) Das label wird zwar per Code visible = true aber wird erst sichtbar wenn man das Memo in der Größe ändert (die FormMain vergrößert)

Bekommt man das auch noch irgendwie hin?

Ciao
Stefan
  Mit Zitat antworten Zitat