Информация об изменениях

Сообщение Re[7]: Программная печать из MFC-приложения от 26.07.2017 13:44

Изменено 26.07.2017 14:04 Evgeniy Skvortsov

Re[7]: Программная печать из MFC-приложения
Здравствуйте, RussianFellow, Вы писали:

RF>Этот пример работает. Но он работает для одной строки, находящейся в многострочном текстовом поле CEdit.

RF>А как правильно сделать так, чтобы этот пример работал и для тех случаев, когда в текстовом поле CEdit находятся несколько строк?

Да совершенно пофиг как получать строки, просто зачем строки копировать во временный буфер? Пустая трата времени
Внутри цикла получать и тут же выводить.

Только это всё имеет смысл для действительно примитивных документов в пару строк, если структура документа предполагается хоть сколько-нибудь сложная — лучше использовать какое-то готовое средство. Генератор отчетов какой-нибудь, для MFC вроде был Crystal Reports, или перейти на doc/view, там есть вариант когда вью будет диалогом, сложностей особых не должно возникнуть.

RF>Число выводимых строк примерно равно 55--60, так что они все дожны уместиться на одном листе.


При таком подходе только хардкор — всё придется учитывать самому, размеры строк, размеры отступов, высоту шрифта и т.д.
Re[7]: Программная печать из MFC-приложения
Здравствуйте, RussianFellow, Вы писали:

RF>Этот пример работает. Но он работает для одной строки, находящейся в многострочном текстовом поле CEdit.

RF>А как правильно сделать так, чтобы этот пример работал и для тех случаев, когда в текстовом поле CEdit находятся несколько строк?

Да совершенно пофиг как получать строки, просто зачем строки копировать во временный буфер? Пустая трата времени
Внутри цикла получать и тут же выводить.

Только это всё имеет смысл для действительно примитивных документов в пару строк, если структура документа предполагается хоть сколько-нибудь сложная — лучше использовать какое-то готовое средство. Генератор отчетов какой-нибудь, для MFC вроде был Crystal Reports, или перейти на doc/view, там есть вариант когда вью будет диалогом, сложностей особых не должно возникнуть.

RF>Число выводимых строк примерно равно 55--60, так что они все дожны уместиться на одном листе.


При таком подходе только хардкор — всё придется учитывать самому, размеры строк, размеры отступов, высоту шрифта и т.д.

[Добавлено]
Ещё можно вместо CEdit использовать CRichEditCtrl, у него вроде есть возможность выводить кусок текста на принтер