Как определить номер строки контрольного текста? - PullRequest
0 голосов
/ 28 июня 2011

Диалог содержит статический текстовый элемент управления.При инициализации диалога приложение устанавливает пользовательский текст для этого статического текстового элемента управления:

HWND hWnd = GetDlgItem(IDC_MY_STATIC_TEXT);
::SetWindowText(hWnd, szMyCustomText);

Мне нужно знать количество строк, на которые будет разбит указанный текст, и эту ширину текста при его отображениив пользовательском интерфейсе.Не могли бы вы поделиться своей идеей?

1 Ответ

0 голосов
/ 28 июня 2011

Это будет зависеть от шрифта, DPI и других настроек. Я рекомендую поискать статические текстовые элементы управления , которые говорят:

Система отображает как можно больше текста в статическом элементе управления и обрезает все, что не подходит. Чтобы рассчитать подходящий размер для элемента управления, извлеките метрики шрифта для текста. Для получения дополнительной информации о шрифтах и ​​метриках шрифтов см. Раздел Шрифты и текст.

В сочетании с этой публикацией о расчете размера результирующего текста, вы должны получить возможность рассчитать ширину текста (и со знанием высоты текста количество строк).

...