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