2013-05-07 88 views
1

我想獲得活動打印機的物理邊距。但我不知道我應該給第二個參數GetDeviceCaps函數的值。有人可以告訴我 HORZSIZE VERTSIZE的值是多少可以設置爲獲得實際的打印機值。getdevicecaps函數的第二個參數的值是多少?

如果我使用0作爲第二個參數的值,我得到的getX和getY值爲1024.有人可以幫助我。

注: DefaultPrinterInfo是用戶定義的函數來獲取驅動程序名和PRINTERNAME

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 

回答

1

第二個參數指示要檢索的信息。您可以在這篇MSDN文章中找到常數和解釋。

你一直在問的常數:

Global Const HORZSIZE = 4 
Global Const VERTSIZE = 6 
+0

非常感謝您的快速回復。我在這裏沒有幾個問題。爲什麼它是4和6,它究竟意味着什麼?當我用4和6取代我得到getX = 198和getY = 287.這些值是在像素中。我想將這些轉換爲毫米。再次感謝。 Ramana – Ramana 2013-05-07 09:55:45

+0

下面的文章可能會給你額外的幫助:http://mollyrocket.com/forums/viewtopic.php?p=1940我知道這些值是以像素爲單位的。如果你需要英寸,你應該看看LOGPIXELSX = 88和LOGPIXELSY = 90 – 2013-05-07 10:44:47

相關問題