嵌入网页的activeX dll 问题??
嵌入网页的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工程中能正确执行,但嵌入网页就不行了




