在PB中调用IE

 
  1. 先在窗口上拖一个Microsoft Web Browser上来,调整好大小。
  2. 通过PB的对象浏览器察看我们可以查到它支持的属性,方法,事件。最主要的用这么几个:
    1. Navigate(string url)
    2. ExecWB (nCmdID, nCmdExecOpt, [pvaIn], [pvaOut] )
  3. 下面我们来通过代码实现一个打开网页并弹出另存,然后直接打印的程序。
    (a).nCmdID
    OLECMDID_OPEN = 1,
    OLECMDID_NEW = 2,
    OLECMDID_SAVE = 3,
    OLECMDID_SAVEAS = 4,
    OLECMDID_SAVECOPYAS = 5,
    OLECMDID_PRINT = 6,
    OLECMDID_PRINTPREVIEW = 7,
    OLECMDID_PAGESETUP = 8,
    OLECMDID_SPELL = 9,
    OLECMDID_PROPERTIES = 10,
    OLECMDID_CUT = 11,
    OLECMDID_COPY = 12,
    OLECMDID_PASTE = 13,
    OLECMDID_PASTESPECIAL = 14,
    OLECMDID_UNDO = 15,
    OLECMDID_REDO = 16,
    OLECMDID_SELECTALL = 17,
    OLECMDID_CLEARSELECTION = 18,
    OLECMDID_ZOOM = 19,
    OLECMDID_GETZOOMRANGE = 20
    OLECMDID_UPDATECOMMANDS = 21
    OLECMDID_REFRESH = 22
    OLECMDID_STOP = 23
    OLECMDID_HIDETOOLBARS = 24
    OLECMDID_SETPROGRESSMAX = 25
    OLECMDID_SETPROGRESSPOS = 26
    OLECMDID_SETPROGRESSTEXT = 27
    OLECMDID_SETTITLE = 28
    OLECMDID_SETDOWNLOADSTATE = 29
    OLECMDID_STOPDOWNLOAD = 30
    上面的关键词都可以在浏览器的菜单里面找到对应的选项﹐大家一看就明白的﹗
    (b).nCmdExecOpt
    OLECMDEXECOPT_DODEFAULT = 0,
    OLECMDEXECOPT_PROMPTUSER = 1,
    LECMDEXECOPT_DONTPROMPTUSER = 2,
    OLECMDEXECOPT_SHOWHELP = 3
    对于这个参数﹐一般来说﹐选1就可以了。

ole_1.
object .Navigate(sle_1.text)

// Ole控件的documentcomplete事件代码
cb_saveas.postevent(clicked ! )
我们post 保存按钮的一个event:clicked,在保存按钮中调用IE的另存为功能.

// 保存按钮的clicked事件代码

int OLECMDID_PRINT = 6
int OLECMDID_PRINTPREVIEW = 7
int OLECMDID_PAGESETUP = 8
int OLECMDID_SAVEAS = 4

int OLECMDEXECOPT_DODEFAULT = 0
int OLECMDEXECOPT_PROMPTUSER = 1
int OLECMDEXECOPT_DONTPROMPTUSER = 2

try
ole_1.
object .ExecWB( OLECMDID_SaveAs, OLECMDEXECOPT_PROMPTUSER )
// ole_1.object.ExecWB( OLECMDID_SaveAs, OLECMDEXECOPT_PROMPTUSER, AsStatement!   )都可以

ole_1.
object .ExecWB( OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER )
// ole_1.object.ExecWB( OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, AsStatement!   )都可以
catch (runtimeerror er)
// 通常我们不显示错误,因为用户点了取消也会有一个错误
// messagebox('',er.text)
end try


ExceWb详细的参数说明:

下边是API方法:

Environment lEnv
string ls_addr,ls_null
ls_addr = 'www.sohu.com'
SetPointer( HourGlass! )
SetNull( ls_null )
IF GetEnvironment( lEnv ) = 1 THEN
IF lEnv.Win16 THEN
ShellExecute16( Handle(this), 'open', ls_addr, ls_null, ls_null, 0 )
ELSE
ShellExecute32(Handle(this), 'open', ls_addr, ls_null, ls_null, 0 )
END IF
END IF


ShellExecute32是api函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值