Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Вывод текста на принтер


Автор: Гость_Oleg 8.1.2004, 17:47
Для вывода текста на экран и на принтер использую
::SetMapMode(m_DC,MM_TWIPS);
...............................
TextOut(m_DC,.....);
Размер шрифта задаю в миллиметрах и пересчитываю её в логические единицы как рекомендуется в документации. Всё отображается правильно. Но, и это указанно в книгах, размер строки получается разный на экране и на принтере. Это видно когда текст вписывается в заданный горизонтальный размер и этот размер почти равен длине строки. На экране строка умещается в заданные границы, а на принтере происходит перенос последнего слова. Автоматическое деление текста на строки заложено в программе и работает верно. А как Word делает точное соответствие экранной и «твёрдой» копии? Может есть способ более точной подстройки размера шрифта?

Автор: Гость_Oleg IT 2.12.2004, 14:02
Товарищи программисты, неужели ни кто не знает от чего появляется небольшая разница в размере текста на экране и на принтере? И как с эти борется например WORD?

Автор: Mad 2.12.2004, 14:15
Пересчитывать в логические необходимо с использованием свойств контекста (для экрана и для принтера могут получиться разные).

P.S. для простоты расчетов попробуй режими MM_LOMETRIC и MM_HIMETRIC

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)