2009-09-04 61 views
1

有人知道使用PS_SOLID風格在基於MFC/VS6的應用程序中打印灰線的「魔術」嗎?使用MFC/VS6打印灰線

它可以在打印到PDF時起作用,但是在打印到黑白激光打印機時只會出現黑線。它也適用於PS_INSIDEFRAME風格,但我似乎很奇怪,一個普通的PS_SOLID不能做灰色

這是如何設置CPen: CPen linePen(PS_SOLID,50,RGB(128,128,128));

我正在使用MoveTo/LineTo函數進行繪圖。

謝謝!

  • 費邊
+0

SO它繪製50像素寬..但黑色? – Goz 2009-09-07 08:37:10

回答

0

確定打印機上下文設置正確,即是你沒有的1位深度?

+0

抱歉有很大的延遲。打印機DC的深度確實是1(根據設備的大小)。我注意到DEVMODE提供了一個BitsPerPixel,但我不知道什麼時候應該設置它(以及哪個值 - 可能取決於打印機)。任何提示? – Fabian 2009-10-26 22:31:03

+0

您從打印機配置對話框中獲得打印機功能。有關示例,請參閱使用MFC打印的教程。在這裏我沒有任何代碼,但是IIRC會涉及到從打印機設置對話框中獲取完整的DEVMODE結構,並使用該結構創建要打印的設備。大多數情況下,您應該從MFC示例中複製出鍋爐板代碼(我認爲在MFC示例中也有一個打印示例,實際上我確信它存在。) – Roel 2009-11-03 14:53:39