DocumentProperties

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)

说明

这是一个灵活的打印机配置控制函数。该函数定义了两个DEVMODE结构,可在创建一个设备场景时为单个应用程序改变打印机设置。甚至能在文档打印期间改变打印机设置

返回值

Long,由fMode字段的值决定。如下所示:

若fMode为零,这个函数就返回DEVMODE结构的尺寸。注意这个结构可能比类型定义文件API32.TXT中规定的尺寸大

若fMode设置了DM_IN_PROMPT标志,那么打印机设置对话框就会出现。在这种情况下,返回值将是常数IDOK 或 IDCANCEL——具体由用户关闭对话框时按下的按钮决定

在其他任何情况下,该函数执行成功后会返回IDOK。而在任何情况下,如函数执行失败,都会返回一个负数

参数表

参数

类型及说明

hwnd

Long,对话框父窗口的句柄。这通常是当前的活动窗体

hPrinter

Long,一个已打开的打印机对象的句柄

pDeviceName

String,打印机的名字

pDevModeOutput

Long,指向一个DEVMODE数据结构的指针。请参考DocumentProperties运行模式表。注意这个指针必须引用一个足够大的缓冲区,它能同时容下专用打印机驱动程序数据,以及标准的DEVMODE结构

pDevModeInput

Long,指向一个DEVMODE数据结构的指针。请参考DocumentProperties运行模式表

fMode

Long,决定这个函数运作模式的一个标志。请参考DocumentProperties运行模式表

DocumentProperties运行模式表

常数标志

运行模式

不使用pDevModeInput。pDevModeOutput可能为零。函数会返回由这两个参数引用的DEVMODE结构需要的大小

DM_IN_BUFFER

pDevModeInput缓冲区应载入打印机驱动程序的新位置。在调用这个函数判断应使用结构中的哪些字段前,应设置结构的dmFields字段

DM_IN_PROMPT

显示出打印机设置对话框,以便用户指定输出时采用的打印机设置。如指定了DM_IN_BUFFER,那么在显示对话框前,输入缓冲区中指定的任何字段都会与当前的打印机DEVMODE结构合并起来

DM_OUT_BUFFER

令打印机设置信息输出到由pDevModeOutput参数指定的缓冲区。这些设置由两个输入标志决定,而且由此反映了原始的输入结构、当前的打印机设置以及用户在打印机设置对话框中作出的任何修改。如未指定这个标志,lpdmOutput参数就可以设为零

Top