CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

如何在vb中设置打印机的各种属性?在线急等。

楼主zzy1254(逍遥)2005-09-19 18:07:47 在 VB / 基础类 提问

怎样可以得到当前打印机的各种属性???  
  包括纸张类型、自定义大小、以及打印首选项???  
  包括怎样在VB中去操作这些属性。  
  是不是要使用API函数?到底是哪个函数呀,最好给个例子。 问题点数:20、回复次数:6Top

1 楼acev(睡眠不足(域名 .com ¥55,.cn ¥30 QQ:230567))回复于 2005-09-19 18:11:32 得分 0

VB的Printer对象  
  Printer.  
  ...Top

2 楼hdhai9451(☆新人类☆)回复于 2005-09-19 19:49:47 得分 0

打印機的這種設置一般是在控制而版裡設置的。用VB編程來做不容易,特別是對底層的控制。況且有的打印機沒有自己編程設置打印屬性的功能。  
   
  Top

3 楼tanlei_accp(爱梦薇)回复于 2005-09-20 08:41:32 得分 2

可以使用vb当中的print对象Top

4 楼csdngoodnight(居然比我还快,你真行!)回复于 2005-09-20 09:15:26 得分 8

Printer   对象常数  
   
   
  打印机颜色模式  
  常数   值   描述    
  vbPRCMMonochrome   1   单色输出    
  vbPRCMColor   2   彩色输出    
   
   
  双面打印  
  常数   值   描述    
  vbPRDPSimplex   1   单面打印    
  vbPRDPHorizontal   2   双面水平打印    
  vbPRDPVertical   3   双面垂直打印    
   
   
  打印方向  
  常数   值   描述    
  vbPRORPortrait   1   文档打印以纸的窄边作顶部    
  vbPRORLandscape   2   文档打印以纸的宽边作顶部    
   
   
  打印质量  
  常数   值   描述    
  vbPRPQDraft   -1   草稿打印质量    
  vbPRPQLow   -2   低级打印质量    
  vbPRPQMedium   -3   中等打印质量    
  vbPRPQHigh   -4   高级打印质量    
   
   
  PaperBin   属性  
  常数   值   描述    
  vbPRBNUpper   1   从上层纸盒进纸    
  vbPRBNLower   2   从下层纸盒进纸    
  vbPRBNMiddle   3   从中间纸盒进纸    
  vbPRBNManual   4   等待手动插入每页纸    
  vbPRBNEnvelope   5   从信封进纸器进纸    
  vbPRBNEnvManual   6   从信封进纸器进纸;但要等待手动插入    
  vbPRBNAuto   7   (缺省方式)从当前缺省纸盒进纸    
  vbPRBNTractor   8   从拖拉进纸器供纸    
  vbPRBNSmallFmt   9   从小型进纸器进纸    
  vbPRBNLargeFmt   10   从大型纸盒进纸    
  vbPRBNLargeCapacity   11   从大容量进纸器进纸    
  vbPRBNCassette   14   从附加的卡式纸盒进纸    
   
   
  PaperSize   属性  
  常数   值   描述    
  vbPRPSLetter   1   信笺,   8   1/2   x   11   英寸    
  vbPRPSLetterSmall   2   +A611   小型信笺,   8   1/2   x   11   英寸    
  vbPRPSTabloid   3   小型报,   11   x   17   英寸    
  vbPRPSLedger   4   分类帐,   17   x   11   英寸    
  vbPRPSLegal   5   法律文件,   8   1/2   x   14   英寸    
  vbPRPSStatement   6   声明书,5   1/2   x   8   1/2   英寸    
  vbPRPSExecutive   7   行政文件,7   1/2   x   10   1/2   英寸    
  vbPRPSA3   8   A3,   297   x   420   mm    
  vbPRPSA4   9   A4,   210   x   297   mm    
  vbPRPSA4Small   10   A4小号,   210   x   297   mm    
  vbPRPSA5   11   A5,   148   x   210   mm    
  vbPRPSB4   12   B4,   250   x   354   mm    
  vbPRPSB5   13   B5,   182   x   257   mm    
  vbPRPSFolio   14   对开本,   8   1/2   x   13   英寸    
  vbPRPSQuarto   15   四开本,   215   x   275   mm    
  vbPRPS1&H14   16   10   x   14   英寸    
  vbPRPS11x17   17   11   x   17   英寸    
  vbPRPSNote   18   便条,8   1/2   x   11   英寸    
  vbPRPSEnv9   19   #9   信封,   3   7/8   x   8   7/8   英寸    
  vbPRPSEnv10   20   #10   信封,   4   1/8   x   9   1/2   英寸    
  vbPRPSEnv11   21   #11   信封,   4   1/2   x   10   3/8   英寸    
  vbPRPSEnv12   22   #12   信封,   4   1/2   x   11   英寸    
  vbPRPSEnv14   23   #14   信封,   5   x   11   1/2   英寸    
  vbPRPSCSheet   24   C   尺寸工作单    
  vbPRPSDSheet   25   D   尺寸工作单    
  vbPRPSESheet   26   E   尺寸工作单    
  vbPRPSEnvDL   27   DL   型信封,   110   x   220   mm    
  vbPRPSEnvC3   29   C3   型信封,   324   x   458   mm    
  vbPRPSEnvC4   30   C4   型信封,   229   x   324   mm    
  vbPRPSEnvC5   28   C5   型信封,   162   x   229   mm    
  vbPRPSEnvC6   31   C6   型信封,   114   x   162   mm    
  vbPRPSEnvC65   32   C65   型信封,114   x   229   mm    
  vbPRPSEnvB4   33   B4   型信封,   250   x   353   mm    
  vbPRPSEnvB5   34   B5   型信封,176   x   250   mm    
  vbPRPSEnvB6   35   B6   型信封,   176   x   125   mm    
  vbPRPSEnvItaly   36   信封,   110   x   230   mm    
  vbPRPSEnvMonarch   37   信封大王,   3   7/8   x   7   1/2   英寸    
  vbPRPSEnvPersonal   38   信封,   3   5/8   x   6   1/2   英寸    
  vbPRPSFanfoldUS   39   U.S.   标准复写簿,   14   7/8   x   11   英寸    
  vbPRPSFanfoldStdGerman   40   德国标准复写簿,   8   1/2   x   12   英寸    
  vbPRPSFanfoldLglGerman   41   德国法律复写簿,   8   1/2   x   13   英寸    
  vbPRPSUser   256   用户定义    
   
  Top

5 楼csdngoodnight(居然比我还快,你真行!)回复于 2005-09-20 09:17:20 得分 8

EndDoc方法示例    
  本示例使用   EndDoc   方法在打印完两页之后结束一个文件,该被打印的每页按正文行居中方式显示页号。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按   F5   键并单击该窗体。  
   
  Private   Sub   Form_Click   ()  
        Dim   HWidth,   HHeight,   I,   Msg       '   声明变量。  
        On   Error   GoTo   ErrorHandler       '   设置错误处理程序。  
        Msg   =   "This   is   printed   on   page"  
        For   I   =   1   To   2       '   设置   2   个迭代。  
              HWidth   =   Printer.TextWidth(Msg)   /   2       '   取得半宽。  
              HHeight   =   Printer.TextHeight(Msg)   /2       '   取得半高。  
              Printer.CurrentX   =   Printer.ScaleWidth   /   2   -   HWidth  
              Printer.CurrentY   =   Printer.ScaleHeight   /   2   -   HHeight  
              Printer.Print   Msg   &   Printer.Page   &   "."       '   打印。  
              Printer.NewPage       '   发送新页。  
        Next   I  
        Printer.EndDoc       '   打印完成。  
        Msg   =   "Two   pages,   each   with   a   single,   centered   line   of   text,   "  
        Msg   =   Msg   &   "have   been   sent   to   your   printer."  
        MsgBox   Msg       '   显示信息。  
        Exit   Sub  
  ErrorHandler:  
        MsgBox   "There   was   a   problem   printing   to   your   printer."  
        Exit   Sub  
  End   Sub  
   
   
   
   
  KillDoc   方法示例    
  本示例使用   KillDoc   方法来终止当前打印工作。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按   F5   键并单击该窗体。  
   
  Private   Sub   Form_Click()  
        For   i   =   1   To   40  
              Printer.CurrentX   =   1440       '   设置左边距。  
              Printer.CurrentY   =   (i   *   300)       '   进页到下一行。  
              Printer.Print   "This   is   line"   &   Str$(i)   &   "   of   text."  
              On   Error   Resume   Next       '   捕获任何打印机错误。  
              If   i   =   26   Then  
                    Printer.KillDoc       '   立即终止打印作业。  
                    Printer.EndDoc  
                    End  
              End   If  
        Next   i  
  End   Sub  
   
   
   
   
  NewPage   方法示例    
  本示例使用   NewPage   方法在一页上打印出一行居中正文后开始一个新的打印页。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按   F5   键并单击该窗体。  
   
  Private   Sub   Form_Click   ()  
        Dim   HWidth,   HHeight,   I,   Msg       '   声明变量。  
        On   Error   GoTo   ErrorHandler       '   设置错误处理程序。  
        Msg   =   "This   is   printed   on   page"  
        For   I   =   1   To   2       '   设置   2   个迭代。  
              HWidth   =   Printer.TextWidth(Msg)   /   2       '   取半宽。  
              HHeight   =   Printer.TextHeight(Msg)   /2       '   取半高。  
              Printer.CurrentX   =   Printer.ScaleWidth   /   2   -   HWidth  
              Printer.CurrentY   =   Printer.ScaleHeight   /   2   -   HHeight  
              Printer.Print   Msg   &   Printer.Page   &   "."       '   打印。  
              Printer.NewPage       '   发送新页。  
        Next   I  
        Printer.EndDoc       '   打印完毕。  
        Msg   =   "Two   pages,   each   with   a   single,   centered   line   of   text,   "  
        Msg   =   Msg   &   "have   been   sent   to   your   printer."  
        MsgBox   Msg       '   显示信息。  
        Exit   Sub  
  ErrorHandler:  
        MsgBox   "There   was   a   problem   printing   to   your   printer."  
        Exit   Sub  
  End   Sub  
   
  Top

6 楼chen2831278(云)回复于 2005-09-20 10:19:05 得分 2

其实如果不使用   API,我们还是可以使用   Printer   物件很轻易的就得到我们要的资料!  
   
  Printer   物件有很多个属性,其中三个是:  
   
  DeviceName:返回驱动程序支持的周边设备名称。  
  DriverName:返回   Printer   物件的驱动程序名称。  
  Port:返回连接端口。  
   
  使用实例如下:  
   
  Private   Sub   Command1_Click()  
  Debug.Print   Printer.DeviceName    
  Debug.Print   Printer.DriverName  
  Debug.Print   Printer.Port  
  End   Sub  
  Printer   物件还有很多好用的属性及方法,例如设定打印机的打印方向   (Orientation)、纸张大小   (PaperSize)、打印份数   (Copies)、打印品质   (PrintQuality)、放大缩小   (Zoom)...等,可以自行到线上手册或   Msdn   上查询!  
  Top

相关问题

  • 如何设置打印机属性中的设置
  • 如何,得到,打印机的当前属性设置。。
  • 请问如何通过API来设置系统打印机的各种属性。
  • VB中如何调打印机设置窗口?THANK U
  • DocumentProperties 设置打印机,我如何设置 {缩放} 中 {调整为} 这个属性
  • 如何调用通用,把设置打印机的属性窗口显示出来
  • 如何设置打印机?
  • 如何修改打印机属性?
  • 如何修改打印机属性?
  • vb程序设计如何设置打印机-----win2000操作系统

关键词

  • 打印
  • 属性
  • 检验
  • 进纸
  • printer
  • 示例
  • hwidth
  • hheight
  • 打印机
  • 纸盒

得分解答快速导航

  • 帖主:zzy1254
  • tanlei_accp
  • csdngoodnight
  • csdngoodnight
  • chen2831278

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo