| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Автоподбор высоты TMemo |
| Автор: Romero 17.12.2005, 17:17 |
| Нужно подобрать высоту Memo так, чтобы текст помещался полностью. При этом учесть то, что высота не обязательно будет равняться высота_строки*кол-во_строк, так как возможен автоперенос строк. Какие идеи по этому поводу? |
| Автор: Zero 17.12.2005, 18:58 | ||
Установи свойство ScrollBars в ssHorizontal или ssBoth для универсальности. |
| Автор: Albinos_x 17.12.2005, 20:43 | ||||||||||
идея приблизительно такова(если не делать как сказал Zero):
вычисляем занимаемую высоту
где:
высота шрифта в пикселях
эт я пытался вычислить межстрочное растояние считая что оно равно 1/3 от размера шрифта.
вначале делаю поправку на межстрочное расстояние PS: на шрифте 8 MS Sans Serif работает нормально, на шрифте 19 Niagara Solid через 8 строчек набегает ещё одна лишняя, кроме того непонятно почему, если количество строчек больше отображаемых в самом начале, то на этом шрифте при первом нажатии на кнопку происходит однократное увеличение на 5 строчек, но потом нормально. PSS: в коде не забудь добавить проверку на количество строчек -> если количество строчек меньше 1, то ничего не делать(или установить размер по одной строчке) |
| Автор: Romero 20.12.2005, 12:14 |
| Albinos_x Спасибо за идею! Примерно так и сделал |