Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > AdvStringGrid и центрирование по вертикали


Автор: MacTep 13.11.2007, 15:56
Как можно в AdvStringGrid от TMS сделать вертикальное выравнивание в ячейке? И интересует именно выравнивание с включенным свойством WordWrap, так как без него оно не имеет смысл в моей задаче. Пожалуйста, кто сталкивался и кто как решил данную проблему. Помогите!

Автор: ama_kid 13.11.2007, 16:31
Вообще, вроде как виндовый API не умеет сочетать свойства DT_WORDBREAK и DT_VCENTER, это взаимоисключающие свойства апишного вывода текста... Поэтому, если у компонента AdvStringGrid нет таких взаимосочетающихся свойств (т.е. если он сам этого реализовывать не умеет) - тогда придется делать вручную...

Автор: MacTep 13.11.2007, 16:38
Вручную тоже сделать не получается, ибо ты сам сказал, что
Цитата

виндовый API не умеет сочетать свойства DT_WORDBREAK и DT_VCENTER
. Что сделать тогда?

Автор: ama_kid 13.11.2007, 17:26
MacTep, вручную - я имел ввиду: вручную делать разбивку на подстроки и вывод с выравниванием... Иначе - имхо никак...

Автор: MacTep 14.11.2007, 07:38
Мда, глюкаво... :(
А узнать ширину канвы, которую занимает тот или иной текст как тогда? Это я все о вопросе вывода...

Автор: ama_kid 14.11.2007, 11:00
Цитата(MacTep @  14.11.2007,  07:38 Найти цитируемый пост)
А узнать ширину канвы, которую занимает тот или иной текст как тогда?
Если использовать методы дельфевой канвы - тогда есть TextWidth и TextHeight, а если использовать API-шные методы - тогда DrawText с параметром DT_CALCRECT...

Автор: Pellegrino 11.3.2012, 15:08
Столкнулся с той же проблемой... (( Есть решение данной задачи? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)