![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Высота QRBand и QRShape. [D6, IB6.x]
DiLLeR © (2003-08-12 13:41:00)
Здравствуйте!!! ... Помогите пожалуйста. Сталкиваюсь с проблемой уже не в первый раз, всегда как - то решалось, но вот щас уж совсем криво получается. Вопрос по QReport. Есть DetailBand, на нем лежит QRMemo которая вытягивается вниз по тексту ... под QRMemo лежит QRShape, и являет собой прямоугольник. Выглядеть должно как таблица с вписанными в ячейки текстом. Проблема в том что когда мемка вытягивается сильно, нужно бы по высоте DetailBand растянуть и QRShape, но сам он этого не умеет, а руками расчитывать высоту текста в мемке получается кривовато. Подскажите как решаете подобную задачу???
З.Ы. QRMemo юзается потому, что в БД лежит блоб который обрабатывается специальными функциями для получения текста (сложные структуры данных).
stud (2003-08-12 17:04:00) [21]
в общем я от этого отказался. если максимальная и минимальная высота известны, то просто делаеш шейп заранее большего размера.
подбираеш его так, чтобы не оставались от него куски при печати
Reindeer Moss Eater (2003-08-12 17:03:00) [22]
Про Height - Я знаю ... вопрос в том как корректно расчитать это значение ... в рантайме размер DetailBand - не меняется даже если он на самом деле увеличился. DetailBand - не содержит OnPrint, нужные значения находятся в QRMemo - которое не имеет вообще событий ....
А я и не говорил про DetailBand.Height
DiLLeR (2003-08-12 17:02:00) [23]
Получение количество строк - это хороший вопрос .. строка там одна ... она WordWrap!!! .... В том то все и дело ... %(((
DiLLeR (2003-08-12 17:01:00) [24]
Про Height - Я знаю ... вопрос в том как корректно расчитать это значение ... в рантайме размер DetailBand - не меняется даже если он на самом деле увеличился. DetailBand - не содержит OnPrint, нужные значения находятся в QRMemo - которое не имеет вообще событий ....
Johnmen (2003-08-12 17:00:00) [25]
Сталкивались... Причем stud © должен знать, как, поскольку уже спрашивал...:)
Общая идея - самому вычислять высоту мемо. И на этих данных - высоту бенда и всего остального, что нужно.
Вычисление высоты мемо сводится к получению высоты одной строки, с учетом текущего шрифта, и определении межстрочного интервала.
И умножении полученного значения на количество строк мемо.
stud (2003-08-12 16:55:00) [26]
в обработчике onprint расчитываеш высоту компанента и полученное значение присваиваеш
shape.height:=значение
и все
Reindeer Moss Eater (2003-08-12 16:54:00) [27]
Есть такое свойство Height. Для записи и чтения.
DiLLeR (2003-08-12 16:52:00) [28]
Reindeer Moss Eater
Высоту секции узнать и корректно растянуть шейп ...
Reindeer Moss Eater (2003-08-12 16:44:00) [29]
А где проблема-то?
DiLLeR (2003-08-12 16:41:00) [30]
Неужели никто не сталкивался с проблемой!?!?!???
stud (2003-08-12 15:52:00) [31]
если получится - скинь на мыло))
я с этим намучился, на экране нормальная таблица - а на принтере не понятно что! руками растягиваеш shape на нужную высоту/ширину.
но почему-то при добавлении своих обработчиков начинаются неприятные глюки