Подскажите как лучше делать распечатку в программах
Подскажите как лучше делать распечатку в программах с использованием графики (3D графика, диаграммы и тд) и текста. Заранее всем спасибо.
Пользуйся классом CView и его наследниками
Да класс CView не подходит...
CView::OnDraw()
Эта функция определяет перерисовку в контексте устройства. А контекст - этот и экран, и принтер, и прочее. Когда ты жмешь File->Print, вынь вызывает OnDraw() и передает контекст принтера. Для контекста есть функция, по моему IsPrinting(). Вот при помощи ее и определяй факт печати и выводи на бумагу так как хочешь, остальное сделает Выньдовс.
CView::OnDraw()
Эта функция определяет перерисовку в контексте устройства. А контекст - этот и экран, и принтер, и прочее. Когда ты жмешь File->Print, вынь вызывает OnDraw() и передает контекст принтера. Для контекста есть функция, по моему IsPrinting(). Вот при помощи ее и определяй факт печати и выводи на бумагу так как хочешь, остальное сделает Выньдовс.
А как насчет красивого предворительного просмотра? Ведь он так нравится клиентам (чуть ли не из-за него делается оценка всей программы), может есть какой-нибудь компонент под Visual C++?
А как насчет красивого предворительного просмотра? Ведь он так нравится клиентам (чуть ли не из-за него делается оценка всей программы), может есть какой-нибудь компонент под Visual C++?
Это все есть в создаваемом Wizardом приложении с архитектурой Document/View, зачем велосипед изобретать?
Это все есть в создаваемом Wizardом приложении с архитектурой Document/View, зачем велосипед изобретать?
а если диалоговое приложение (парень хочет ActiveX)?
в .НЕТ есть компонент предварительного просмотра, но он тока на этой платформе работать и будет.
а если диалоговое приложение (парень хочет ActiveX)?
в .НЕТ есть компонент предварительного просмотра, но он тока на этой платформе работать и будет.
Спасибо за поддержку:)
Спасибо за поддержку:)
Посмотри как реализована фунция CView::OnFilePrintPreview() и вызываемые из нее, возможно пригодятся некоторые приемы.