14.05.2008, 12:40 | #1 |
Участник
|
Ширина текста в пикселях
Вопрос можно перефразировать иначе: как узнать, какова высота и ширина в пикселях символа в данном или дефолтовом шрифте.
__________________
Axapta has seduced me deadly! |
|
14.05.2008, 13:01 | #2 |
MCTS
|
Узнать ширину символа можно винАпи ф-цией GetCharABCWidths
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
|
За это сообщение автора поблагодарили: HorrR (1). |
14.05.2008, 13:21 | #3 |
Участник
|
Есть \System Documentation\Classes\FormControl\calcControlSize только он для каких-то стандартных символов выводит (по карйней мере, достаточно зорошее приближение максимальной ширины символа - кможжить на 2)
|
|
|
За это сообщение автора поблагодарили: HorrR (1). |
14.05.2008, 14:58 | #4 |
Участник
|
Спасибо обоим, полезно однако)
__________________
Axapta has seduced me deadly! |
|
14.05.2008, 15:22 | #5 |
Участник
|
Цитата:
Узнать ширину символа можно винАпи ф-цией GetCharABCWidths
Цитата:
Есть \System Documentation\Classes\FormControl\calcControlSize
Я вычисляю размер ширины строки так (не в Аксапте, но в принципе разницы не должно быть): Посылаю в ListControl сообщение LVM_GETSTRINGWIDTH. Оно возвращает длину строки: Цитата:
The LVM_GETSTRINGWIDTH message returns the exact width, in pixels, of the specified string.
Цитата:
lResult = SendMessage( // returns LRESULT in lResult
(HWND) hWndControl, // handle to destination control (UINT) LVM_GETSTRINGWIDTH, // message ID (WPARAM) wParam, // = 0; not used, must be zero (LPARAM) lParam // = (LPARAM) (LPCSTR) psz; );
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
За это сообщение автора поблагодарили: HorrR (1). |
14.05.2008, 15:27 | #6 |
Участник
|
Оу, вот это ответ, благодарствую!
__________________
Axapta has seduced me deadly! |
|
14.05.2008, 16:26 | #7 |
Участник
|
А вот не получилось...0 возвращает
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
16.05.2008, 11:01 | #8 |
Участник
|
А можно уточнить, что значит "данный шрифт" и что "дефолтный"? Т.е. как вы хотите задавать нужный шрифт?
__________________
Axapta v.3.0 sp5 kr2 |
|
19.05.2008, 15:05 | #9 |
Участник
|
Сие есть корявость) Имелось в виду в используемом на данный момент шрифте.
__________________
Axapta has seduced me deadly! |
|
19.05.2008, 15:22 | #10 |
MCTS
|
Если вы пытаетесь рассчитать размеры прямоугольника, куда выводится текст или пытаетесь проверить "влезет" ли строка в прямоугольник, то можно попользовать ф-цию DrawText с флагом DT_CALCRECT
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
19.05.2008, 16:10 | #11 |
очами вижу
|
|
|
19.05.2008, 16:46 | #12 |
Участник
|
DC.LPtoDP не поможет?
The LPtoDP function converts logical coordinates into device coordinates.
__________________
SY, AVA |
|
Теги |
программно, текст, ширина |
|
Похожие темы | ||||
Тема | Ответов | |||
Ширина секции в отчете | 2 | |||
Форматирование текста | 64 | |||
Вывод в Excel в формате XML и ширина колонок | 1 | |||
Ширина формы больше чем ширина экрана | 5 | |||
Автозавершение текста | 4 |
|