Szerokość tekstu w TEdit

0

Witam !
Założyłem sobie, że podczas wpisywania czegoś do jednego TEdit będzie miał on stały rozmiar, natomiast potem, gdy znaki nie będą się mieściły w polu tekstowym, rozszerzy się ono (pole TEdit).
Przy czcionkach ze stałą szerokością znaku jakoś sobie dałem radę, jednak dla tych, gdzie np "!" i "_" mają różną szerokość jest gorzej... Jak Wy byście sobie poradzili z tym problemem ?

Pozdrawiam, Format

0

Canvas.TextWidth + F1

0

Dziękuje, Misiu :P

0

TEdit nie ma Canvasa, ale zrobiłem coś takiego:
(na formie jest Edit1 i guzik, który wywołuje poniższe: )

var
  bm : TBitmap;
begin
  bm := TBitmap.Create;
  bm.Canvas.Font := Edit1.Font;
  showmessage(inttostr(bm.Canvas.TextWidth(Edit1.Text)));
  bm.Destroy;
end;

Mam jednak pewne wątpliwości, czy jest to najwydajnieszy sposób pobrania rozmiaru tekstu...

0
Format napisał(a)

Mam jednak pewne wątpliwości, czy jest to najwydajnieszy sposób pobrania rozmiaru tekstu...

ibardzo dobrze, że masz - TEdit.Canvas.TextWidth(TEdit.Text);

0

Właśnie u mnie TEdit nie ma canvasa :P W kodzie, który podałem tworze oddzielną bitmapkę i z niej biore canvasa...

0

ech byłem pewny, że ma :p
ale zamiast całej bitmapy możesz twożyć sam Canvas

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0