2009-09-04 3 views
1

Кто-нибудь знает «волшебный трюк» для печати серых линий в приложении на основе MFC/VS6, используя стиль PS_SOLID?Печать серых линий с MFC/VS6

Он работает при печати в формате PDF, но я просто получаю черные линии при печати на моем черно-белом лазерном принтере. Он также работает со стилем PS_INSIDEFRAME, но мне кажется странным, что нормальный PS_SOLID не может сделать серый

Вот как CPen является установка: CPen linePen (PS_SOLID, 50, RGB (128128128));

Я использую функции MoveTo/LineTo для рисования.

Спасибо!

  • Fabian
+0

SO его нарисованный 50 пикселей в ширину .. но черный? – Goz

ответ

0

Вы уверены, что контекст принтера установлен правильно, то, что вы не имеют битовую глубину 1?

+0

Извините за огромную задержку. Принтер DC действительно имеет бит глубиной 1 (в соответствии с крышками устройства). Я заметил, что DEVMODE предоставляет BitsPerPixel, но я не уверен, когда я должен установить это (и какое значение - возможно, зависит от принтера). Любые намеки? – Fabian

+0

Вы получаете возможности принтера из диалогового окна конфигурации принтера. См. Учебник по печати с MFC для примеров. Здесь у меня нет никакого кода, но, несмотря на это, вам нужно получить полную структуру DEVMODE из диалогового окна настроек принтера и использовать его для создания устройства для печати. В большинстве случаев это код плиты котла, который нужно скопировать из примеров MFC (я думаю, что есть пример печати в образцах MFC тоже, на самом деле я уверен, что есть.) – Roel

Смежные вопросы