VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
返回 发表评论(0) 首页 - API手册 - 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参数就可以设为零