![]() |
|
|
![]()
|
|
| naldim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Проблема следующая: отображаю данные в окне Preview. До этого этапа все отлично. Но когда доходит очередь до печати, т.е. нажимаю на кнопку Print, то вижу лишь как появляется и быстро исчезает окно процесса печати, но самой печати не происходит. Ни каких ошибок не возникает, окно Preview закрывается корректно, программа тоже. На форме QuickPeport расположены 4 полосы: rbTitle, rbColumnHeader, rbDetal и rbSummary. Полоса rbDetal содержит 4 QRLabel, которые и принимают данные из соответствующих колонок StringGrid, а также 4 элемента QRShape для отображения прямоугольников, которые вместе и показывают данные в сетке. Для заполнения данными из StringGrid четырех элементов QRLabel использую метод QuickRepNeedData(). Заранее благодарю за помощь. |
|||
|
||||
| naldim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2006 Репутация: нет Всего: нет |
Значит, друзья, есть ниточка к решению данной проблемы. Предлагаю код, который выводит данные в окне Preview:
Так вот, если отключить строку MoreData = false; , то принтер начинает печатать, но только последнюю строку из StringGrid. В общем теперь понятно, как действует метод QuickRepNeedData(). Булевое свойство bool &MoreData разрешает или запрещает печать данных в зависимости от своего состояния. Когда в этом методе RowNum становится == числу строк в Гриде, MoreData становится равным false и печать запрещается. Вопрос: как теперь вывести на печать все строки? |
|||
|
||||
| naldim |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.3.2006 Репутация: нет Всего: нет |
Решение найдено!
Сперва, в чем была проблема... Значит перед тем как вызывать метод QuickRepNeedData я инициализировал переменную RowNum значением 1, чтобы заполнение данных в QuickPeport начиналось с первой строки StringGrid. Так вот моя ошибка заключалась в том, что эту переменную надо было инициализировать не при создании формы в конструкторе, как это делал я:
а в событии BeforePrint:
Теперь все работает правильно. |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |