这是一个D5的新问题:WebBrowser的打印。(100分)

  • 主题发起人 主题发起人 程云
  • 开始时间 开始时间

程云

Unregistered / Unconfirmed
GUEST, unregistred user!
我准备使用把报表作成HTML的文件,并D5的WebBrowser控件给出预览功能。
但WebBrowser控件本身没有打印功能,我将如何把我从WebBrowser上看到的
HTML内容打印出来?
线索一:使用painto来打印,但我未试出来。
线索二:当WebBrowser显示出HTML后可用有HTML上点MOUSE的右键弹出的菜
单上找到打印按扭,可以很好的打印(看来WebBrowser是使用IE来工作的),但我未发现在程序中如何调用它。

希望祝位高手多多帮助。
 
用Twebbrowser.execwb
procedure ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT;
var pvaIn: OleVariant);
overload;
try it
 
装了Delphi5的帮助的升级文件了吗?
里面有TWebBrowser的详细说明。
 
to hubdog
你的方法我试过了,确是我想要的,在此非常感谢。

不过还有一点,在我用上面的方法弹出打印对话框
后我不想打印,按取消按扭,它给我一个出错的提
求,叫什么“试图激活未注册的丢失目标”。
你看我应言该如何避免?
 
use comobj;//加上
try
webbrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT,a,b);
except
on EoleExceptiondo
begin

end;

end;

截取EoleException ,忽略它。
 
忘了
var
a,b:olevariant;
 
注意在delphi下调试运行还会显示错误,脱离delphi运行没问题
 
to hubdog
你的方法我试了,很好用,在此非常感谢。
现在是该给你加分了,只是还有最后一问
有以上例程中‘a,b’两个参数是作什么
用的,我试过加不加它们并没什么变化,
也未找到有关的用法。
 
a,b可以是nil,对于OLECMDID_PRINT及其他大多数命令没用,
对于OLECMDID_GETZOOMRANGE, zoom range 作为 a DWORD 在b中返回
 
hubdog

十分感谢你的帮助,有空还请多多给与指教。
 
接受答案了.
 
程云:分给错了吧
 
应该给错了!
hubdog,我转给你,不过太便宜amo了;)
 
太不好意思了。你给转一下吧!
 
后退
顶部