![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать длину записи в пикселах написи в визуальном компоненте
novill © (2006-06-19 16:51:00)Есть строка и есть Font, которым она написана.
novill (2006-06-19 17:32:00) [1]Спасибо.
begin...end (2006-06-19 17:10:00) [2]Контекст тоже нужен будет. Тогда GetTextExtentPoint32 (или TCanvas.TextWidth).
Игорь Шевченко (2006-06-19 17:09:00) [3]function GetTextWidthInPixels(AText: string; AControl: TControl): integer;
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;