Форум — Ответы ( К темам )
? | Тесл: как обработать (перенести ) длинную строку в TStringGrid (11-04-2003 16:57:44) |
Здравствуйте, Все. Помогите: в StringGrid нужно осуществить перенос длинной строки в ячейке. (Чтобы она автоматичеси переносилась, а не заползала за правый край ячейки) | |
Alexander (11-04-2003 20:30:00) | |
Обычными методами — никак. Можно самому рисовать текст в ячейках, тогда все в наших руках (по-моему, это проще всего). Например, внутри ячейки какой-нибудь контрол иметь, который будет текст переносить. Недостаток: слишком много будет контролов внутри. Второй вариант — унаследовать класс от TCustomGrid или TStringGrid и в коде отрисовки текста (см. модуль grids, один из методов TStringGrid.DrawCell) заменить Canvas.TextRect на, например, DrawText с параметром DT_WORDBREAK. Потому что TextRect автоматически добавляет флаг CLIPPING, т.е. обрезание текста (без переноса). Недостатки: сложно; при переходе на новую версию компилятора скорее всего придется переписывать новый класс. Я ответил на вопрос ? | |
Alexander (11-04-2003 20:39:53) | |
Чего-то я совсем торможу, просто прямо в OnDrawCell рисуй себе текст через DrawText с флагом DT_WORDBREAK.
|