【问题标题】:what is the value for second parameter for getdevicecaps function?getdevicecaps 函数的第二个参数的值是多少?
【发布时间】:2013-05-07 07:29:47
【问题描述】:

我正在尝试获取活动打印机的物理边距。但我不确定我应该为 GetDeviceCaps 函数的第二个参数提供什么值。谁能告诉我 HORZSIZEVERTSIZE 的值是什么我可以设置以获得实际的打印机值。

如果我使用 0 作为第二个参数的值,我得到的 getX 和 getY 值为 1024。有人可以帮帮我吗。

注意: DefaultPrinterInfo 是用户定义的函数,用于获取驱动程序名称和打印机名称

Sub GetDevCaps()
    Dim str() As String
    Dim hdc As Long, delHdc As Long
    Dim getX As Long, getY As Long
    str = DefaultPrinterInfo
    hdc = CreateDC(str(1), str(0), 0, 0)
    getX = GetDeviceCaps(hdc, ?)
    getY = GetDeviceCaps(hdc, ?)
    delHdc = DeleteDC(hdc)<br>
End Sub

【问题讨论】:

    标签: vba excel excel-2007 excel-2010


    【解决方案1】:

    第二个参数表示要检索的信息。您可以在这篇 MSDN 文章中找到常量和解释。

    您一直要求的常量:

    Global Const HORZSIZE = 4
    Global Const VERTSIZE = 6
    

    【讨论】:

    • 非常感谢您的快速回复。我这里有几个问题..为什么它是 4 和 6 以及它的实际含义是什么?当我用 4 和 6 替换时,我得到 getX= 198 和 getY= 287。这些值是否以像素为单位。我想将这些转换为 mm。再次感谢。拉玛那
    • 以下文章可能会给您额外的帮助:mollyrocket.com/forums/viewtopic.php?p=1940 我知道这些值以像素为单位。如果你需要英寸,你应该看看 LOGPIXELSX=88 和 LOGPIXELSY=90
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2016-03-25
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多