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