CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

嵌入网页的activeX dll 问题??

楼主coolmars(mars)2003-12-03 01:19:24 在 VB / 控件 提问

嵌入网页的activeX怎样才能获得本页IE窗口的打印设置???  
  然后修改IE窗口的打印设置??? 问题点数:100、回复次数:10Top

1 楼saucer(思归)回复于 2003-12-03 04:43:18 得分 50

look   into    
  Printing   and   Print   Spooler   Functions  
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_7mgj.aspTop

2 楼coolmars(mars)回复于 2003-12-03 09:07:27 得分 0

谢谢思归兄:  
   
  现在的问题是IE窗口的页面设置中的参数是怎样获得和设置的。  
  用API修改了打印机的默认参数后,IE当前窗口的设置是不变的,必须关闭后重新打开才能是刚才设置的参数?。。Top

3 楼saucer(思归)回复于 2003-12-03 09:13:49 得分 0

not   sure   if   this   will   help   you   (didn't   test,   so   it   might   not   work):  
   
  HOWTO:   Change   Print   Settings   for   Internet   Explorer   and   WebBrowser   Control   Programmatically  
  http://support.microsoft.com/default.aspx?id=236777Top

4 楼coolmars(mars)回复于 2003-12-03 09:34:35 得分 0

思归兄:  
        以上文章中说:  
        “可能需要以编程方式更改   Internet   Explorer   或   WebBrowser   控件的打印设置。可以更改的设置仅包括页边距、页眉和页脚信息。对于更改其他设置,如页面方向或打印机等,尚没有受支持的方法。”  
   
  我想对于更改其他设置,如页面方向或打印机等,是不是可以通过获得当前IE窗口的句柄然后再进行调整能,就像ScriptX一样它是使用的什么方法呢?  
  Top

5 楼saucer(思归)回复于 2003-12-03 09:44:04 得分 0

try   to   combine   the   above   two   methodsTop

6 楼liushen8051(liushen8051)回复于 2003-12-03 09:59:01 得分 30

<!--控制打印时控制页面底部的路径和顶端的页码编号begin-->  
  <SCRIPT   LANGUAGE="VBScript">  
            dim   RegWsh  
            dim   hkey_root,hkey_path,hkey_key1,hkey_key2,Read_Data1,Read_Data2  
            hkey_root="HKEY_CURRENT_USER"    
            hkey_path="\Software\Microsoft\Internet   Explorer\PageSetup"  
  '//设置网页打印的页眉页脚为空  
            Sub   PageSetup_null  
                                  on   error   resume   next  
                  Set   RegWsh   =   CreateObject("WScript.Shell")  
                  hkey_key1="\header"  
                                  hkey_key2="\footer"  
                                  Read_Data1=RegWsh.RegRead(hkey_root+hkey_path+hkey_key1)  
                                  Read_Data2=RegWsh.RegRead(hkey_root+hkey_path+hkey_key2)  
                                  if   Read_Data1=""   and   Read_Data2=""   then  
                                        msgbox   "页眉页脚目前设置为空,不必重新设置!"  
                                  else  
                        RegWsh.RegWrite   hkey_root+hkey_path+hkey_key1,""  
                        RegWsh.RegWrite   hkey_root+hkey_path+hkey_key2,""  
                                        msgbox   "成功设置打印页眉页脚为空!"  
  end   if  
            end   Sub  
  '//设置网页打印的页眉页脚为默认值  
            sub   pagesetup_default  
                                  on   error   resume   next  
                                  Set   RegWsh   =   CreateObject("WScript.Shell")  
  hkey_key1="\header"  
                                  hkey_key2="\footer"  
                                  Read_Data1=RegWsh.RegRead(hkey_root+hkey_path+hkey_key1)  
                                  Read_Data2=RegWsh.RegRead(hkey_root+hkey_path+hkey_key2)  
  if   Read_Data1="&w&b页码,&p/&P"   and   Read_Data2="&u&b&d"   then  
                                        msgbox     "页眉页脚目前设置为默认值,不必重新设置!"  
                                  else  
                                  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key1,"&w&b页码,&p/&P"  
                                  RegWsh.RegWrite   hkey_root+hkey_path+hkey_key2,"&u&b&d"  
        msgbox   "成功设置打印页眉页脚为默认值!"  
  end   if  
            end   sub  
  </SCRIPT>  
  <!--控制打印时控制页面底部的路径和顶端的页码编号end-->  
   
   
  <input   name="button"   type="button"   onclick=PageSetup_null   value="清空页眉页脚"   class="buttoninput">  
  <input   name="button"   type="button"   onclick=PageSetup_default   value="恢复默认设置"   class="buttoninput">Top

7 楼coolmars(mars)回复于 2003-12-03 17:17:54 得分 0

页眉页脚的方法我已经实现了。  
  但是关键是打印机的纸张设置。Top

8 楼liushen8051(liushen8051)回复于 2003-12-05 12:05:51 得分 20

控制"纵打"、“横打”和“页面的边距”  
  (1)<script   defer>    
  function   SetPrintSettings()   {    
   //   --   advanced   features    
   factory.printing.SetMarginMeasure(2)   //   measure   margins   in   inches    
   factory.SetPageRange(false,   1,   3)   //   need   pages   from   1   to   3    
   factory.printing.printer   =   "HP   DeskJet   870C"    
   factory.printing.copies   =   2    
   factory.printing.collate   =   true    
   factory.printing.paperSize   =   "A4"    
   factory.printing.paperSource   =   "Manual   feed"    
   
   //   --   basic   features    
   factory.printing.header   =   "This   is   MeadCo"    
   factory.printing.footer   =   "Advanced   Printing   by   ScriptX"    
   factory.printing.portrait   =   false    
   factory.printing.leftMargin   =   1.0    
   factory.printing.topMargin   =   1.0    
   factory.printing.rightMargin   =   1.0    
   factory.printing.bottomMargin   =   1.0    
  }    
  </script>    
   
  (2)    
  <script   language="javascript">    
    function   printsetup(){    
    //   打印页面设置    
    wb.execwb(8,1);    
    }    
    function   printpreview(){    
    //   打印页面预览    
          
    wb.execwb(7,1);    
           
          
    }    
   
    function   printit()    
    {    
    if   (confirm('确定打印吗?'))   {    
    wb.execwb(6,6)    
    }    
    }    
    </script>    
  </head>    
  <body>    
  <OBJECT   classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"    
   
  height=0   id=wb   name=wb   width=0></OBJECT>    
  <input   type=button   name=button_print   value="打印"    
   
  onclick="javascript:printit()">    
  <input   type=button name=button_setup   value="打印页面设置"    
   
  onclick="javascript:printsetup();">    
  <input   type=button name=button_show   value="打印预览"    
   
  onclick="javascript:printpreview();">    
  <input   type=button   name=button_fh   value="关闭"    
   
  onclick="javascript:window.close();">    
   
  ------------------------------------------------    
  关于这个组件还有其他的用法,列举如下:    
  WebBrowser.ExecWB(1,1)   打开    
  Web.ExecWB(2,1)   关闭现在所有的IE窗口,并打开一个新窗口    
  Web.ExecWB(4,1)   保存网页    
  Web.ExecWB(6,1)   打印    
  Web.ExecWB(7,1)   打印预览    
  Web.ExecWB(8,1)   打印页面设置    
  Web.ExecWB(10,1)   查看页面属性    
  Web.ExecWB(15,1)   好像是撤销,有待确认    
  Web.ExecWB(17,1)   全选    
  Web.ExecWB(22,1)   刷新    
  Web.ExecWB(45,1)   关闭窗体无提示Top

9 楼coolmars(mars)回复于 2003-12-08 19:12:32 得分 0

楼上的,你说的scriptx组建,高级属性需要注册才能使用,我现在想自己编写这样的东东!Top

10 楼coolmars(mars)回复于 2003-12-25 17:17:04 得分 0

问题解决了  
  还是msdn厉害Top

相关问题

  • 如果能在网页中嵌入ActiveX?
  • 紧急!ActiveX 嵌入网页的安全问题
  • 网页中嵌入ActiveX控件,遇到的问题。
  • 哪里有开发用于嵌入网页的activex的教程?
  • 如何在网页(HTML文件)中嵌入.net组件,就象原来嵌入activex控件一样?
  • Applet嵌入网页问题
  • 关于网页嵌入windowsmediaplayer
  • 提问!如何在网页中嵌入一个自己写的ActiveX(*.ocx)控件?(和网页留言板有关)
  • 如何在网页中判断网页中嵌入的某个自定义ActiveX控件已注册过
  • ShellExecute在ActiveX中调用,该ActiveX在Dialog工程中能正确执行,但嵌入网页就不行了

关键词

  • 打印
  • execwb

得分解答快速导航

  • 帖主:coolmars
  • saucer
  • liushen8051
  • liushen8051

相关链接

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

广告也精彩

反馈

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