当前位置:编程学习 > VB >>

用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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,