我在DEVMODE docs中看到了这段让我感到困惑的段落。
dmPaperSize
仅适用于打印机设备,选择要打印的纸张尺寸。 如果纸张的长度和宽度,该成员可以设置为零 都由dmPaperLength和dmPaperWidth成员设置。除此以外, dmPaperSize成员可以设置为更大的设备特定值 大于或等于DMPAPER_USER或以下预定义之一 值。
在其中他们说dmPaperLength和dmPaperWidth仅在dmPaperSize = 0时使用。他们谈论它的方式,似乎dmPaperLength和dmPaperWidth不应该与DMPAPER_USER一起使用。
这就是我觉得令人困惑的事情。我认为DMPAPER_USER意味着使用自定义页面大小。它与指定0不同吗?如果dmPaperLength和dmPaperWidth不能与DMPAPER_USER一起使用,如何指定自定义大小?
答案 0 :(得分:3)
看起来有一个Bug in the documentation。
根据The folks over at codeguru,您应该使用DMPAPER_USER而不是0.该讨论主题中有许多代码示例。
答案 1 :(得分:1)
根据您提供的文档片段判断,DMPAPER_USER被描述为“设备特定值”。对我来说,这意味着该值的解释留给了打印机驱动程序本身,dmPaperLength和dmPaperWidth的使用将取决于驱动程序。