用API如何实现,点击打印预览的【页面距】按钮功能?
用API如何实现,点击打印预览的【页面距】按钮功能?已经得到【页面距】按钮的句柄,如何通过VBA实现点击【页面距】按钮相同的功能?
--------------------编程问答--------------------
Private Declare Function SetPrinter Lib "winspool.drv" Alias "SetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Byte, ByVal Command As Long) As Long
【操作系统】
Win9X:Yes
WinNT:Yes
【说明】
对一台打印机的状态进行控制
【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError
【其它】
在PRINTER_INFO_2结构的基础上设置打印机状态时,pServerName,AveragePPM,Status和cJobs字段都会被忽略
【参数表】
hPrinter ------- Long,指定一个已打开的打印机的句柄(用OpenPrinter取得)
Level ---------- Long,0,2或3(4或5用于windows95,5或6用于NT 4.0)。如Command不是零,则这个参数必须是零
pPrinter ------- Byte,包含一个PRINTER_INFO_x的结构的缓冲区,其中的x代表级别的设定(Level)。假如级别为零,并且Command设为PRINTER_CONTROL_SET_STATUS,那缓冲区就包含了一个PRINTER_CONTROL_STATUS结构。否则,如级别为零,就设为NULL(要把声明变成ByVal
As Long,以便传递零值)
Command -------- Long,下述值之一:
零
根据PRINTER_INFO_x结构改变打印机
PRINTER_CONTROL_PAUSE
暂停打印机
PRINTER_CONTROL_PURGE
删除打印机的所有作业
PRINTER_CONTROL_RESUME
恢复一台暂停的打印机
PRINTER_CONTROL_SET_STATUS
载入打印机的PRINTER_CONTROL_STATUS结构(不可在NT 3.51下使用)
个人认为你需要自己编辑一个属性设置窗体,然后调用上面的API函数来设置打印机的属性即可。 --------------------编程问答-------------------- 用 keybd_event 功能实现了,谢谢
补充:VB , VBA