Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法
2009-03-05 12:47
495 查看
刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文。
关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的,今天我就说一下这个alter对话框的修改和过滤的方法:
很简单,只要咱们继承IDocHostShowUI这个接口,实现里面的ShowMessage方法就行了。
废话不多说,代码在这里:
DelphiCode:
关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的,今天我就说一下这个alter对话框的修改和过滤的方法:
很简单,只要咱们继承IDocHostShowUI这个接口,实现里面的ShowMessage方法就行了。
废话不多说,代码在这里:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw,ActiveX; type IDocHostShowUI = interface(IUnknown) ['{c4d244b0-d43e-11cf-893b-00aa00bdce1a}'] function ShowMessage(hwnd: THandle; lpstrText: POLESTR; lpstrCaption: POLESTR;dwType: longint; lpstrHelpfile: POLESTR; dwHelpContext: longint;var plResult: LRESULT): HRESULT; stdcall; function ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand: integer;dwData: longint; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; stdcall; end; TWebBrowser = class(SHDocVw.TWebBrowser,IDocHostShowUI) protected function ShowMessage(hwnd: THandle; lpstrText: POLESTR; lpstrCaption: POLESTR;dwType: longint; lpstrHelpfile: POLESTR; dwHelpContext: longint;var plResult: LRESULT): HRESULT; stdcall; function ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand: integer;dwData: longint; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; stdcall; end; TForm2 = class(TForm) WebBrowser1: TWebBrowser; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} { TWebBrowser } function TWebBrowser.ShowHelp(hwnd: THandle; pszHelpfile: POLESTR; uCommand, dwData: Integer; ptMouse: TPoint; var pDispatchObjectHit: IDispatch): HRESULT; begin Result := S_FALSE; end; function TWebBrowser.ShowMessage(hwnd: THandle; lpstrText, lpstrCaption: POLESTR; dwType: Integer; lpstrHelpfile: POLESTR; dwHelpContext: Integer; var plResult: LRESULT): HRESULT; begin plResult := MessageBoxW(hwnd,PWChar(lpstrText),'不得闲测试',65); Result := S_OK; end; procedure TForm2.FormCreate(Sender: TObject); begin self.WebBrowser1.Navigate(Application.ExeName + '/../test.htm'); end; end. |
相关文章推荐
- Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法
- Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法(通过COM来改造)
- Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法
- Delphi : WebBrowser改造,对网页中Alter等对话框的改造方法
- Delphi中WebBrowser拦截网页Alert对话框消息(转)
- delphi 使用webbrowser取得网页中表格(Table)内容的正确方法
- delphi使用webbrowser取得网页中无序列表(ul)内容的正确方法
- 如何判断webbrowser里的网页下载完成,正确的版本和方法
- delphi WebBrowser的使用方法详解(五)-难点释疑
- Delphi中webbrowser的document 对象的属性方法事件
- ASP.Net后台 实现先弹出对话框,再跳转到另一个网页的实现方法
- webbrowser 操作网页的几种方法
- delphi webbrowser 常用方法示例
- WebBrowser组件的execWB方法——Delphi控制浏览器组件
- Delphi_WebBrowser禁止弹出Alert对话框
- WebBrowser 控件中屏蔽alert,confirm脚本对话框的方法。
- Webbrowser控件判断网页加载完毕的简单方法
- 使用WebBrowser控件获取网页源码的方法
- Delphi窗体显示后弹出一个对话框的方法
- window.location.reload()方法刷新页面弹出要再次显示该网页对话框