Delphi中的TWebBrowser与MSHTML(2):获取window对象的时机

这是在页面下载完毕后即刻获取:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure WebBrowser1DocumentComplete(ASender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses MSHTML;
var window: IHTMLWindow2;

{建立时同时打开页面}
procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Align := alTop;
  WebBrowser1.Navigate('http://del.cnblogs.com');
end;

{当页面打开完毕时获取 window 对象}
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if pDisp = (ASender as TWebBrowser).Application then
  begin
    window := ((ASender as TWebBrowser).Document as IHTMLDocument2).parentWindow;
  end;
end;

end.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索页面
, webbrowser
, window
, end
, webbrowser1
, #mshtml
, mshtml
procedure
,以便于您获取更多的相关知识。

时间: 2024-11-08 20:20:36

Delphi中的TWebBrowser与MSHTML(2):获取window对象的时机的相关文章

Delphi中的TWebBrowser与MSHTML(1): 从TWebBrowser获取DOM中的window对象

借助 TWebBrowser 可以把软件做的更漂亮.更灵活, 很多软件已经或者早就这样做了. 尽管 HTML DOM 内容繁杂(涉及到 HTML.JavaScript.CSS), 但也都属于 TWebBrowser 的功能范围. 使用 TWebBrowser 时, 如果配合上 MSHTML, 将会有很好的代码提示; 不然也可以, 就是写代码困难. HTML DOM 中的一切都是源于一个叫 window 对象, 为了和 JS 中的 DOM 一致起来, 本次先获取这个对象. TWebBrowser

Delphi中的TWebBrowser与MSHTML(4):location、history、screen、navigator

{location 对象:} reload //重新加载当前文档 replace //用新的文档替换当前文档 assign //加载新文档 href //设置或返回完整的 URL protocol //设置或返回当前 URL 的协议 host //设置或返回 # 号开始的 URL(锚) hostname //设置或返回当前 URL 的主机名 port //设置或返回当前 URL 的端口号 pathname //设置或返回当前 URL 的路径部分 search //设置或返回从 ? 号开始的 UR

Delphi中的TWebBrowser与MSHTML(3):window对象的属性、方法和事件

这还不是 TWebBrowser 控件的属性.方法.事件; 这和浏览器中 JavaScript 的 window 对象是基本一致的. window 对象是网页脚本中的顶层对象, 它代表网页的窗口.或一个框架. {IHTMLWindow2 属性:} frames //返回窗口中的框架数组 location //返回窗口的 location 对象 history //返回窗口的 history 对象 navigator //返回窗口的 navigator 对象 document //返回窗口的 do

Delphi中的TWebBrowser与MSHTML(5):document对象的属性、方法和事件

{IHTMLDocument2 方法:} write //写入 writeln //写入并换行 open //打开一个流,以收集 document.write 或 document.writeln 的输出 close //关闭并输出用 document.open 方法打开的流 clear //清空文档中所有元素, 可能暂时不支持 queryCommandSupported //是否支持指定命令 queryCommandEnabled //指定命令是否有效 queryCommandState //

JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)

本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param+"<br/>"); } function print(param){ document.write(param); } window对象中的方式: 方法: confirm : bConfirmed = window.confirm( [sMessage]) 显示一个确认对话框

Delphi中使用TWebBrowser编辑网页

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Panel1: TPanel; Button1: TButton;

js中获取事件对象的方法小结_javascript技巧

复制代码 代码如下: var evt = window.event || arguments[0]; 下面分三种添加事件的方式讨论,你也许会看到以前没有看到过的获取方式. 1,第一种添加事件的方式,直接在html的属性中写JS代码 复制代码 代码如下: <div onclick="alert(4);">Div1 Element</div> 大概这是上世纪90年代的写法,那时候直接把js代码写在网页中很普遍,也许那时候的js并不太重要,只是用来做做验证或一些花哨的

模拟点击-delphi中,点击【程序上的】打开按钮后自动打开网页并实现点击【网页中的】一个按钮

问题描述 delphi中,点击[程序上的]打开按钮后自动打开网页并实现点击[网页中的]一个按钮 假设以打开 http://mail.163.com/ 为例,程序上点击打开按钮后 打开网页并模拟点击'注册'按钮.如何实现???? [id="lfBtnReg" class="btn btn-side btn-reg" href="http://reg.email.163.com/mailregAll/reg0.jsp?from=163mail_right&qu

Delphi中取得系统支持的颜色数的方法

在自己的软件中经常需要得知运行本软件的系统支持的颜色数.例如有的软件在16Bits的颜色数的计算机上开发而成,程序的颜色调试得非常漂亮,但是到了一台只支持16色的计算机上,程序变得非常难看.这就需要得到系统的颜色数. Delphi中如何取得系统的颜色数呢?下面的程序就解决这个问题. function GetSysColorNum:Integer; Var ScreenDc:HDC; NumBitsPixel:Integer; begin Result:=0; ScreenDc:=GetDC(0)