Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Вниз

Рамер шрифта в width и height   Найти похожие ветки 

 
torcik   (2009-05-19 15:13) [0]

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


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


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


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


 
Ega23 ©   (2009-05-19 15:29) [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;


 
Ega23 ©   (2009-05-19 15:30) [3]

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


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

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


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


> Ega23


Спасибо


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


> поля width и height


Поля чего ?)


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


> Сергей М.


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


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

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


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

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

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


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


> Сергей М.


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


> copron


:)


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


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


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


 
antonn ©   (2009-05-20 01:13) [12]


> Ega23 ©

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


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


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


безусловно

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


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


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


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

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



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

Форум: "Начинающим";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1242244143
T&amp;F
2009-05-13 23:49
2009.07.12
Intel оштрафовали на миллиард евро o_O


15-1241426831
Student
2009-05-04 12:47
2009.07.12
Контроль версий


4-1212599714
Alex
2008-06-04 21:15
2009.07.12
Как расположить форму по центру экрана?


2-1242731624
torcik
2009-05-19 15:13
2009.07.12
Рамер шрифта в width и height


15-1241883974
@!!ex
2009-05-09 19:46
2009.07.12
Как отследить изменение памяти?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский