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

Вниз

Как узнать длину записи в пикселах написи в визуальном компоненте   Найти похожие ветки 

 
novill ©   (2006-06-19 16:51) [0]

Есть строка и есть  Font, которым она написана.


 
Игорь Шевченко ©   (2006-06-19 17:09) [1]

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;


 
begin...end ©   (2006-06-19 17:10) [2]

Контекст тоже нужен будет. Тогда GetTextExtentPoint32 (или TCanvas.TextWidth).


 
novill ©   (2006-06-19 17:32) [3]

Спасибо.



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
2-1150729557
Gizza
2006-06-19 19:05
2006.07.09
Колическтво дней в месяце.


15-1150095145
Sasha:)
2006-06-12 10:52
2006.07.09
Помогите плиз!


2-1150472512
Neo Trinitron
2006-06-16 19:41
2006.07.09
CreateProcess запуск cmd /c ...


3-1147349427
Viconia
2006-05-11 16:10
2006.07.09
Query выдает ошибку invalid field name


2-1150983945
AlexanderMS
2006-06-22 17:45
2006.07.09
Как работать с ресурсами в Delphi?