| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Печать CScrollView |
| Автор: Leopard25 11.4.2005, 20:28 |
| Я с печатью никогда неработал.... В MDI приложении сделал несколько видов документа, добавляю вид от CScrollView в меню пункты печать и предварительный просмотр есть но они неактивные. Подскажите пожалуйста как сделать их активными ? Заранее благодарен. |
| Автор: Coocky 11.4.2005, 21:15 | ||
Неактивная кнопка означает отсутствие обработчика .Добавь на нее обработчик.Посмотри как это делает визард.Просто вызови метод базового класса СScrollView::OnPrint()-если не ошибаюсь.Еще раз глянь как делает визард. |
| Автор: Leopard25 11.4.2005, 22:39 |
| обработчик создаётся пустым , а в СScrollView::OnPrint() нужно передать (CDC* pDC, CPrintInfo* pInfo).... Смотрел рабочие примеры .... У этих кнопок (печать и предварительный просмотр) в классе СScrollView нет никаких обработчиков, где их искать? |
| Автор: Coocky 11.4.2005, 22:44 | ||||
Создай простое приложение и зайди в класс View Добавлено @ 22:45
Нет,ошибся.Кажется СScrollView::OnFilePrint() метод базового класса!Он от тебя сокрыт.! |
| Автор: Leopard25 11.4.2005, 23:48 |
| просто вызвать OnFilePrintPreview(); из моего обработчика неполучается при выполнении пишет : First-chance exception at 0x004e4879 in Nat_1.exe: 0xC00000FD: Stack overflow. Unhandled exception at 0x004e4879 in Nat_1.exe: 0xC00000FD: Stack overflow. |
| Автор: Coocky 12.4.2005, 21:18 |
| Хм.... Хорошо.Давай сделаем по другому.Печать эта таже графика,только в контексте принтера.Вернись снова к приложению SDI,созданую с опциями печати,нажми на функцию F12,которая вызывается в обработчике,при печати.Посмотри,что она вызывает в свою очередь. Тяжело без компа из клуба... |
| Автор: Leopard25 12.4.2005, 22:00 |
| С этим разобрался.... заменил в OnPreparePrinting : return CScrollView::OnPreparePrinting(pInfo); на: return DoPreparePrinting(pInfo); предпросмотр появляется , но немогу распечатать все страницы документа (печатается только первая) как переключать печать страниц ? (как установить с какого места печатать?) после того как определяю какая страница должна печататься (через pInfo->m_nCurPage) |
| Автор: Coocky 14.4.2005, 22:19 |
| Leopard25 Без проблем.Завтра дам код и обьясню на пальцах |
| Автор: Leopard25 15.4.2005, 15:18 |
| А в пред просмотре есть кнопка Print.... ,но при нажатии на неё ничего непроисходит... Почему ? |
| Автор: Coocky 15.4.2005, 22:22 |
| Leopard25 ну подожди до завтра.Я вернусь с Академии и примерчик захвачу.Ок? |
| Автор: Leopard25 19.4.2005, 23:52 |
| а примерчик мона ? |