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运行模式表 |
常数标志 |
运行模式 |
无 |
不使用pDevModeInput。pDevModeOutput可能为零。函数会返回由这两个参数引用的DEVMODE结构需要的大小 |
DM_IN_BUFFER |
pDevModeInput缓冲区应载入打印机驱动程序的新位置。在调用这个函数判断应使用结构中的哪些字段前,应设置结构的dmFields字段 |
DM_IN_PROMPT |
显示出打印机设置对话框,以便用户指定输出时采用的打印机设置。如指定了DM_IN_BUFFER,那么在显示对话框前,输入缓冲区中指定的任何字段都会与当前的打印机DEVMODE结构合并起来 |
DM_OUT_BUFFER |
令打印机设置信息输出到由pDevModeOutput参数指定的缓冲区。这些设置由两个输入标志决定,而且由此反映了原始的输入结构、当前的打印机设置以及用户在打印机设置对话框中作出的任何修改。如未指定这个标志,lpdmOutput参数就可以设为零 |