Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

autoSize по горизонтали у TEdit   Найти похожие ветки 

 
click   (2007-09-28 10:04) [0]

Доброго времени суток. Вобщем-то нужно определить длину текста в пикселях, и скоректировать под эту длину Edit. Как определить длину текста в пикселях?


 
Anatoly Podgoretsky ©   (2007-09-28 10:12) [1]

> click  (28.09.2007 10:04:00)  [0]

Компонент для ввода, размер текста заранее не определен.
Размер в пикселях можно определить через TextWidth


 
Ega23 ©   (2007-09-28 10:42) [2]


function GetTextWidthInPixels(AText: string; AControl: TControl): integer;
// Copyright by Игорь Шевченко ©
var
propInfo: PPropInfo;
thisFont: TFont;
begin
Result := 0;
propInfo := GetPropInfo(AControl.ClassInfo, "Font");
if propInfo <> nil then begin
  thisFont := TFont(GetObjectProp(AControl, "Font"));
  if Assigned(thisFont) then
    with TControlCanvas.Create do
      try
        Control := AControl;
        Font.Assign(thisFont);
        Result  := TextWidth(AText);
      finally
        Free;
      end;
end;
end;


 
Kot Andrei ©   (2007-09-28 10:56) [3]

Спасибо Ega23 и Игорь Шевченко наиогромнейшее! )


 
Ega23 ©   (2007-09-28 11:02) [4]

мне-то за что? Это Игорю спасибо говори


 
Kot Andrei ©   (2007-09-28 11:06) [5]

за то что не поленился выложить )


 
Anatoly Podgoretsky ©   (2007-09-28 11:11) [6]

> Ega23  (28.09.2007 11:02:04)  [4]

Тебе спасибо з а цитирование, а Игорю за красивый, продуманный код.



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1190726454
R.O.O.T
2007-09-25 17:20
2007.10.21
Обработка исключений в TSocketConnection


15-1190375811
sTEPler
2007-09-21 15:56
2007.10.21
юникс


2-1190472045
SKIPtr
2007-09-22 18:40
2007.10.21
Обновление текста в ListView


9-1161582584
Nic
2006-10-23 09:49
2007.10.21
Простая игра


15-1190385700
Windows_XP
2007-09-21 18:41
2007.10.21
Легально ли использовать Windows XP Home Edition в комерческих целях?