Einzelnen Beitrag anzeigen

gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

Komponentenbreite an Textbreite anpassen

  Alt 24. Aug 2008, 04:02
Guten Morgen, Allerseits.

Ich probiere schon seit zwei Stunden, die Breite eines Memo zur Laufzeit so einzustellen, dass ein vorgegebener Text reinpasst.

Delphi-Quellcode:
begin
  Label1.Font.Size := 18;
  Memo1.Font.Size := 18;
  w := Label1.Canvas.TextWidth('TESTTEXT');
  Memo1.Width := w;
  d := w - Memo1.ClientWidth;
  Memo1.Width := d + w;
  Memo1.Clear;
  Memo1.Lines.Add('TESTTEXT');
  ShowMessage(IntToStr(w) + '/' + IntToStr(d) + '/' + IntToStr(Memo1.Width));
end;
Das Memo ist - egal welche Schriftgröße ich nehme - immer ein wenig zu klein. Ich habe auch schon den Umweg gewählt, den Text direkt (ohne Verwendung von Canvas) einem Label.Caption zuzuweisen und dann die Breite des Labels zu verwenden - der Effekt ist derselbe.

Wer kann mir weiterhelfen?

Vielen Dank und noch einen schönen Sonntag.

Gruß Jürgen
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat