DocumentProperties |
VB聲明 |
|
Declare Function DocumentProperties& Lib "winspool.dll" Alias "DocumentPropertiesA" (ByVal hwnd As Long, ByVal hPrinter As Long, ByVal pDeviceName As String, ByVal pDevModeOutput As Long, ByVal pDevModeInput As Long, ByVal fMode As Long) |
|
說明 |
|
這是一個(gè)靈活的打印機(jī)配置控制函數(shù)。該函數(shù)定義了兩個(gè)DEVMODE結(jié)構(gòu),可在創(chuàng)建一個(gè)設(shè)備場(chǎng)景時(shí)為單個(gè)應(yīng)用程序改變打印機(jī)設(shè)置。甚至能在文檔打印期間改變打印機(jī)設(shè)置 |
|
返回值 |
|
Long,由fMode字段的值決定。如下所示: 若fMode為零,這個(gè)函數(shù)就返回DEVMODE結(jié)構(gòu)的尺寸。注意這個(gè)結(jié)構(gòu)可能比類型定義文件API32.TXT中規(guī)定的尺寸大 若fMode設(shè)置了DM_IN_PROMPT標(biāo)志,那么打印機(jī)設(shè)置對(duì)話框就會(huì)出現(xiàn)。在這種情況下,返回值將是常數(shù)IDOK 或 IDCANCEL——具體由用戶關(guān)閉對(duì)話框時(shí)按下的按鈕決定 在其他任何情況下,該函數(shù)執(zhí)行成功后會(huì)返回IDOK。而在任何情況下,如函數(shù)執(zhí)行失敗,都會(huì)返回一個(gè)負(fù)數(shù) |
|
參數(shù)表 |
|
參數(shù) |
類型及說明 |
hwnd |
Long,對(duì)話框父窗口的句柄。這通常是當(dāng)前的活動(dòng)窗體 |
hPrinter |
Long,一個(gè)已打開的打印機(jī)對(duì)象的句柄 |
pDeviceName |
String,打印機(jī)的名字 |
pDevModeOutput |
Long,指向一個(gè)DEVMODE數(shù)據(jù)結(jié)構(gòu)的指針。請(qǐng)參考DocumentProperties運(yùn)行模式表。注意這個(gè)指針必須引用一個(gè)足夠大的緩沖區(qū),它能同時(shí)容下專用打印機(jī)驅(qū)動(dòng)程序數(shù)據(jù),以及標(biāo)準(zhǔn)的DEVMODE結(jié)構(gòu) |
pDevModeInput |
Long,指向一個(gè)DEVMODE數(shù)據(jù)結(jié)構(gòu)的指針。請(qǐng)參考DocumentProperties運(yùn)行模式表 |
fMode |
Long,決定這個(gè)函數(shù)運(yùn)作模式的一個(gè)標(biāo)志。請(qǐng)參考DocumentProperties運(yùn)行模式表 |
常數(shù)標(biāo)志 |
運(yùn)行模式 |
無 |
不使用pDevModeInput。pDevModeOutput可能為零。函數(shù)會(huì)返回由這兩個(gè)參數(shù)引用的DEVMODE結(jié)構(gòu)需要的大小 |
DM_IN_BUFFER |
pDevModeInput緩沖區(qū)應(yīng)載入打印機(jī)驅(qū)動(dòng)程序的新位置。在調(diào)用這個(gè)函數(shù)判斷應(yīng)使用結(jié)構(gòu)中的哪些字段前,應(yīng)設(shè)置結(jié)構(gòu)的dmFields字段 |
DM_IN_PROMPT |
顯示出打印機(jī)設(shè)置對(duì)話框,以便用戶指定輸出時(shí)采用的打印機(jī)設(shè)置。如指定了DM_IN_BUFFER,那么在顯示對(duì)話框前,輸入緩沖區(qū)中指定的任何字段都會(huì)與當(dāng)前的打印機(jī)DEVMODE結(jié)構(gòu)合并起來 |
DM_OUT_BUFFER |
令打印機(jī)設(shè)置信息輸出到由pDevModeOutput參數(shù)指定的緩沖區(qū)。這些設(shè)置由兩個(gè)輸入標(biāo)志決定,而且由此反映了原始的輸入結(jié)構(gòu)、當(dāng)前的打印機(jī)設(shè)置以及用戶在打印機(jī)設(shè)置對(duì)話框中作出的任何修改。如未指定這個(gè)標(biāo)志,lpdmOutput參數(shù)就可以設(shè)為零 |