![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Узнать длину форматированого текста
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