Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рамер шрифта в width и height


torcik ©   (2009-05-19 15:13:00) 

Можно ли каким нибудь способом узнать сколько в высоту и ширину занимает один символ заранее заданного размера (например 12-го)?


Игорь Шевченко   (2009-05-20 02:16:00) [1]


> Можно ли каким нибудь способом узнать сколько в высоту и
> ширину занимает один символ заранее заданного размера (например
> 12-го)?


нет. можно в среднем узнать - GetTextMetrics и tmAveCharWidth

как ты понимаешь, символы 'i' и 'w' имеют разную ширину, а символы 'b' и 'm' разную высоту. Все написано в TEXTMETRIC


Игорь Шевченко   (2009-05-20 02:13:00) [2]


> насколько я понимаю, курсив оно может неверно посчитать
> :)


безусловно

кстати, автор не я, код взят откуда-то из borland.public.delphi.language


antonn   (2009-05-20 01:13:00) [3]


> Ega23 ©

насколько я понимаю, курсив оно может неверно посчитать :)


Сергей М.   (2009-05-19 15:44:00) [4]


> я это имел ввиду


Почему бы сразу это не уточнить ?
А то ведь получается, что ты имеешь что-то против попугаев)
Если, скажем, высоту и ширину чего-то там можно измерять в миллиметрах (против мм ты же ничего не имеешь ?), то почему же тогда нельзя в попугаях ?)


torcik   (2009-05-19 15:40:00) [5]


> Сергей М.


Просто мне надо подогнать размеры панели под размеры шрифта. я это имел ввиду


> copron


:)


Сергей М.   (2009-05-19 15:37:00) [6]

Ничего я не понял)
Кроме того что "поле" имеет отношение к структурированной записи или к классу/объекту.

Символ же ни ткм ни другим как бы не является)


copron   (2009-05-19 15:35:00) [7]

Любите вы тут ко всем новичкам приставать, уму разуму учить :)


copron   (2009-05-19 15:34:00) [8]


> Сергей М.


ну что ты пристал? :) Всё же прекрасно понял


Сергей М.   (2009-05-19 15:32:00) [9]


> поля width и height


Поля чего?)


torcik   (2009-05-19 15:31:00) [10]


> Ega23


Спасибо


Ega23   (2009-05-19 15:30:00) [11]

А, ну ещё в uses надо TypInfo добавить


torcik   (2009-05-19 15:30:00) [12]

А разве поля width и height могут измерятся в разных величинах? :)


Ega23   (2009-05-19 15:29:00) [13]


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;


Сергей М.   (2009-05-19 15:24:00) [14]


> сколько в высоту и ширину


В чем должно измеряться это "сколько" ? В попугаях ?)


Наверх

Титульная страница Поиск, карта сайта Написать письмо