Цитата:
Узнать ширину символа можно винАпи ф-цией GetCharABCWidths
Это в in logical units. Это не пиксели будут. Потом я например не совсем понимаю как массив ABC структур заполнить.
Цитата:
Есть \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;
);
ЗЫ Попробую на Аксапте сделать...мне стало интересно