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

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

Узнать длину форматированого текста


Krants ©   (2006-10-11 18:34:00) 

Как можно узнать длину строки(и.в. в пикселях) зная ее формат(шрифт, высота, и.т.д.)?


Desdechado   (2006-10-12 13:20:00) [1]

DrawText c параметром CALC_RECT


DrPass   (2006-10-12 12:19:00) [2]

Тебе нужно создать шрифт, настроить его параметры и подставить его дескриптор в SelectObject.
Либо CreateFont/CreateFontIndirect (для любителей WinAPI), либо (ИМХО, проще и удобнее) с помощью VCL:
var font: TFont;
font:= TFont.Create;


Krants   (2006-10-12 11:05:00) [3]

Понятно, но в моем случае я не испльзую никаких компонентов включающих данное свойство.
Что-бы было понятно, мне нужно это значение для указания ширины столбца таблицы в Word`е!


DrPass   (2006-10-12 10:56:00) [4]

В данном примерчике устанавливаются параметры текущего шрифта формы (font.Handle). Какой шрифт в свойстве Font укажешь, тот и будет.


Krants   (2006-10-12 10:48:00) [5]

вот нашел примерчик примерчик:
var
 memDC : HDC;
 size : TSize;
 oldFont : HFONT;

 memDC := CreateCompatibleDC (0);
 oldFont := SelectObject (memDC, font.Handle);
 GetTextExtentPoint32 (memDC, PChar (st), Length (st), size);

а как с применением данных функций можно задать определенный шрифт, к примеру 'Arial'?


Anatoly Podgoretsky   (2006-10-12 00:38:00) [6]

TextWidth


Krants   (2006-10-11 19:00:00) [7]

сенкс


DrPass   (2006-10-11 18:43:00) [8]

GetTextExtentPoint32 для WinAPI. И соотв. метод у TCanvas


Наверх

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