Я вывожу текст на печать через CPrinterDC. Перед печать у меня появляется диалог для настроек печати. В этом диалоге настроек я задаю ориентацию печати альбомную, потому что у меня широкие строки.
Можно ли задать настройку ориентации печати программно, чтобы пользователю не приходилось каждый раз задавать ориентацию печати в диалоге?
Можно ли это сделать средствами CPrinterDC? Если можно, то как? Если нельзя сделать это с помощью CPrinterDC, то как сделать это другим способом при помощи MFC?
ты работаешь в режиме "день в месяц"? Просто те вопросы по печати, которые ты задаешь последние полгода, по идее решаются за неделю тем кто начал разбираться в печати в MFC.
Здравствуйте, RussianFellow, Вы писали RF>Можно ли задать настройку ориентации печати программно, чтобы пользователю не приходилось каждый раз задавать ориентацию печати в диалоге? RF>Можно ли это сделать средствами CPrinterDC? Если можно, то как? Если нельзя сделать это с помощью CPrinterDC, то как сделать это другим способом при помощи MFC?
Это задается не в DC, а в DEVMODE.
Почитай MSDN о режимах принтеров в Windows (там количество копий и т.п.).
Здравствуйте, RussianFellow, Вы писали: RF>А где использовать этот DEVMODE? Не могли бы Вы привести фрагмент кода или дать ссылку на это использование?
И ещё вопрос: можно ли организовать программную печать информации таким образом, чтобы не выскакивал диалог выбора/настроек принтера? (С помощью функции TextOut или как-то ещё).
То есть чтобы пользователь нажал на кнопку "Печать", расположенную на диалоговом окне приложения, и тут же бы произошла печать, без всяких диалогов настроек или выбора принтера?
1613 г. = 2024 г.
Re[2]: Как избавиться от диалога выбора/настроек принтера?
Здравствуйте, RussianFellow, Вы писали:
RF>То есть чтобы пользователь нажал на кнопку "Печать", расположенную на диалоговом окне приложения, и тут же бы произошла печать, без всяких диалогов настроек или выбора принтера?
Всё хорошо, но что делать, если у меня обычное диалоговое оконное приложение, а не приложение типа "документ-представление" (document-view)?
То есть у меня нет никаких CView или их потомков?
1613 г. = 2024 г.
Re[4]: Как избавиться от диалога выбора/настроек принтера?
Здравствуйте, RussianFellow, Вы писали:
RF>Всё хорошо, но что делать, если у меня обычное диалоговое оконное приложение, а не приложение типа "документ-представление" (document-view)? RF>То есть у меня нет никаких CView или их потомков?
Я не телепат. Догадаться, что у вас там за код, который "стоит" за нажатием этой самой кнопки, я не могу.
Пройдитесь отладчиком вглубь. Посмотрите что и как вызывается. Половина вопросов отпадёт само собой. Вторая половина будет более конкретной.
Удачи!
Re[4]: Как избавиться от диалога выбора/настроек принтера?
Здравствуйте, RussianFellow, Вы писали:
RF>Всё хорошо, но что делать, если у меня обычное диалоговое оконное приложение, а не приложение типа "документ-представление" (document-view)? RF>То есть у меня нет никаких CView или их потомков?
Здравствуйте, RussianFellow, Вы писали:
RF>Здравствуйте, Lexsus, Вы писали:
RF>>>Что это означает? Как исправить эту ошибку? L>>SetPrinterMode откуда вызываешь?
RF>Из функции
Тебе как то надо получить контекст печати CDC и передать в setPrinterMode. В приложение Document/View это можно сделать переопределим OnBeginPrinting например.
Re[11]: Как избавиться от диалога выбора/настроек принтера?
Здравствуйте, Lexsus, Вы писали:
L>Тебе как то надо получить контекст печати CDC и передать в setPrinterMode. В приложение Document/View это можно сделать переопределим OnBeginPrinting например.
А что делать в обычном диалоговом приложении? Можно ли в нём получить контекст печати CDC, соответствующему принтеру по умолчанию, а потом уже передать его в функцию setPrinterMode?
1613 г. = 2024 г.
Re[12]: Как избавиться от диалога выбора/настроек принтера?
RF>А что делать в обычном диалоговом приложении? Можно ли в нём получить контекст печати CDC, соответствующему принтеру по умолчанию, а потом уже передать его в функцию setPrinterMode?
Можно. Тебе надо прочитать книжку http://www.charlespetzold.com/pw5/
"This book has a whole chapter on printing (chapter 13, to be exact): what is a printing device context, what is DEVCAPS, printing dialogs etc."
Нашел в гугле. Я только одного не могу понять, зачем тебе мёртвый MFC, если есть живой Qt.
Re[13]: Как избавиться от диалога выбора/настроек принтера?
Он однажды нашел ссылку на русский перевод этой книги. Правда, некоторое время спустя, об этом забыл. Потому что начал просить на него ссылку. https://rsdn.org/forum/winapi/6720399.1