Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Высота QRBand и QRShape. [D6, IB6.x]


Страницы:   1 2

DiLLeR ©   (2003-08-12 13:41:00) 

Здравствуйте!!! ... Помогите пожалуйста. Сталкиваюсь с проблемой уже не в первый раз, всегда как - то решалось, но вот щас уж совсем криво получается. Вопрос по QReport. Есть DetailBand, на нем лежит QRMemo которая вытягивается вниз по тексту ... под QRMemo лежит QRShape, и являет собой прямоугольник. Выглядеть должно как таблица с вписанными в ячейки текстом. Проблема в том что когда мемка вытягивается сильно, нужно бы по высоте DetailBand растянуть и QRShape, но сам он этого не умеет, а руками расчитывать высоту текста в мемке получается кривовато. Подскажите как решаете подобную задачу???

З.Ы. QRMemo юзается потому, что в БД лежит блоб который обрабатывается специальными функциями для получения текста (сложные структуры данных).


DiLLeR   (2003-08-14 22:27:00) [1]

Шёл мимо - ... Ты хоть вопрос то читал перед тем как отвечать ??? .... блин ... нет слов!!!


Шёл мимо   (2003-08-14 21:48:00) [2]

2 DiLLeR (12.08.03 17:14) [16]
> Скажи Мне как узнать сколько строк Я вижу ??? ... Программно ...
RowCount:= memo.lines.count;


DiLLeR   (2003-08-14 16:08:00) [3]

... Очень нехорошее решение вопроса!!! .... Неужели проблема так и не имеет нормального решения???


stud   (2003-08-14 09:26:00) [4]

по моему никак)))) только вычисляя вручную


DiLLeR   (2003-08-14 00:56:00) [5]

Определение позиции каретки в QRMemo не работает ... по крайней мере у Меня че - то не получилось ....

LineNum:=QRMemo5.Perform(EM_LINEFROMCHAR, Length(QRMemo5.Lines.Text)-1, 0);
CharNum:=QRMemo5.Perform(EM_LINEINDEX, LineNum, 0);

... Или Я че - то не так делаю?? ... все время одиноковоые значеня ... единицы

Итак ... Мы опять в начале пути ;(( .... Как же все же достоверно узнать высоту QRBand???


stud   (2003-08-13 13:24:00) [6]

я не нашел, даже на канве рисовал полосы нужной высоты, но на экране все отлично, а при печати непонятно что начинается.
правла если сначала сохранить отчет, а потом его отпечатать то вроде как все нормально....


DiLLeR   (2003-08-13 13:21:00) [7]

Понятно ... %(( ... блин .... неужели нет нормального решения ...


stud   (2003-08-13 13:12:00) [8]

как вариант я уже писал выше, делаеш шейп заведомо больший чем высота банда, подбираеш размер так, чтобы он вы вылезал куда не надо при печати, правла если очень высокий банд будет, тогда все равно пробелы будут. но если у тебя банд имеет высоту в одну сторочку например, то можеш сделать шейп на высоту 3-4 строки. не выход, но всетаки....


DiLLeR   (2003-08-13 13:09:00) [9]

Иногда - да .... + иногда проскакивает непонятно откуда промежутки ... это видать Band растягивается некорректно ....


stud   (2003-08-13 09:27:00) [10]

у тебя размер шейпов при печати сильно отличается?


DiLLeR   (2003-08-12 18:38:00) [11]

... так что ... неужели нет других способов ... потому как вышеперечисленные варианты кривоваты, иногда почему - то получается что мемо и шейп вроде как правильного размера, но вот следущий банд начинается все равно через некотрое расстояние .... какой - то промежуток все равно откуда - то берется ... %((


DiLLeR   (2003-08-12 17:35:00) [12]

stud - да это Я уже заметил ... Я начальную высоту шейпа сохраняю %))


stud   (2003-08-12 17:28:00) [13]

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


DiLLeR   (2003-08-12 17:27:00) [14]

Reindeer Moss Eater - Да спасибо ... Думаю это отчасти поможет ... но это все равно коссвенное вычисление высоты ... А как - то можно определить более точно???


Reindeer Moss Eater   (2003-08-12 17:19:00) [15]

Скажи Мне как узнать сколько строк Я вижу ???
В кладовке "Определение позиции каретки в мемо"


DiLLeR   (2003-08-12 17:14:00) [16]

stud - Да!!! .. в том то все и дело .... что Wrap переносит как он думает - Я так и сделал расчетом количества строк из строки .... но получается иногда очень криво ... %(((

Johnmen - Скажи Мне как узнать сколько строк Я вижу ??? ... Программно ...


Johnmen   (2003-08-12 17:09:00) [17]

1. Событие BeforePrint тебе надо.

>...строка там одна ... она WordWrap!!!

Не строка WordWrap, а свойство QRMemo !
Строк столько, сколько видишь...


stud   (2003-08-12 17:08:00) [18]

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


stud   (2003-08-12 17:07:00) [19]

примерно расчитать можно так: получаеш ширину текста в пикселах, делиш ее на ширину мемо, получаеш большее целое, умножаеш его на высоту одной строки. это и будет высота твоего шейпа


Reindeer Moss Eater   (2003-08-12 17:07:00) [20]

Получение количество строк - это хороший вопрос .. строка там одна ... она WordWrap!!! .... В том то все и дело ... %(((

Это Lines.Count одна, а видимых строк больше одной.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо