![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
autoSize по горизонтали у TEdit
click © (2007-09-28 10:04:00)Доброго времени суток. Вобщем-то нужно определить длину текста в пикселях, и скоректировать под эту длину Edit. Как определить длину текста в пикселях?
Anatoly Podgoretsky (2007-09-28 11:11:00) [1]> Ega23 (28.09.2007 11:02:04) [4]
Тебе спасибо з а цитирование, а Игорю за красивый, продуманный код.
Kot Andrei (2007-09-28 11:06:00) [2]за то что не поленился выложить )
Ega23 (2007-09-28 11:02:00) [3]мне-то за что? Это Игорю спасибо говори
Kot Andrei (2007-09-28 10:56:00) [4]Спасибо Ega23 и Игорь Шевченко наиогромнейшее! )
Ega23 (2007-09-28 10:42:00) [5]
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;
Anatoly Podgoretsky (2007-09-28 10:12:00) [6]> click (28.09.2007 10:04:00) [0]
Компонент для ввода, размер текста заранее не определен.
Размер в пикселях можно определить через TextWidth