导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

[置顶] {下载}本站提供delphi下载

  下载的时候最好不要用迅雷,要不然很容易断线.

  提供多个控件下载:

Application.MessageBox 使用心得

Application.MessageBox 是 TApplication 的成员函数,宣告如下:

function TApplication.MessageBox(const Text, Caption: PChar; Flags: Longint): Integer;

自变量:

  1. Text:要显示的讯息

  2. Caption:讯息窗口的标题列文字

  3. Flags:讯息旗标

     3.1. 可指定讯息窗口上的图标

     3.2. 可指定讯息窗口出现的按钮

TWebBrowser 与 MSHTML(5): document 对象的属性、方法、事件纵览

{IHTMLDocument2 方法:}

write                 //写入

writeln               //写入并换行

open                  //打开一个流,以收集 document.write 或 document.writeln 的输出

close                 //关闭并输出用 document.open 方法打开的流

clear                 //清空文档中所有元素, 可能暂时不支持

queryCommandSupported //是否支持指定命令

queryCommandEnabled   //指定命令是否有效

queryCommandState     //是否设置了指定命令

queryCommandIndeterm  //指定命令是否处于不确定状态

queryCommandText      //命令

queryCommandValue     //命令值

execCommand           //执行命令

execCommandShowHelp   //命令帮助信息

...

TWebBrowser 与 MSHTML(4): location、history、screen、navigator 对象的属性与方法纵览

{location 对象:}

reload   //重新加载当前文档

replace  //用新的文档替换当前文档

assign   //加载新文档

href     //设置或返回完整的 URL

protocol //设置或返回当前 URL 的协议

host     //设置或返回 # 号开始的 URL(锚)

hostname //设置或返回当前 URL 的主机名

port     //设置或返回当前 URL 的端口号

pathname //设置或返回当前 URL 的路径部分

search   //设置或返回从 ? 号开始的 URL 的部分

hash     //设置或返回主机名和当前 URL 的端口号

{history 对象:}

back    //加载 history 列表中的前一个 URL

forward //加载 history 列表中的下一个 URL

go      //

...

TWebBrowser 与 MSHTML(3): window 对象的属性、方法、事件纵览

这还不是 TWebBrowser 控件的属性、方法、事件; 这和浏览器中 JavaScript 的 window 对象是基本一致的.

window 对象是网页脚本中的顶层对象, 它代表网页的窗口、或一个框架.

--------------------------------------------------------------------------------



{IHTMLWindow2 属性:}

frames             //返回窗口中的框架数组

location           //返回窗口的 location 对象

history            //返回窗口的 history 对象

navigator          //返回窗口的 navigator 对象

document           //返回窗口的 document 对象

screen             //返回 Screen 对象

self               //返回当前窗口

window             //同 self 属性

top                //返回最顶层的窗口

....

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

.....

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

借助 TWebBrowser 可以把软件做的更漂亮、更灵活, 很多软件已经或者早就这样做了.



尽管 HTML DOM 内容繁杂(涉及到 HTML、JavaScript、CSS), 但也都属于 TWebBrowser 的功能范围.



使用 TWebBrowser 时, 如果配合上 MSHTML, 将会有很好的代码提示; 不然也可以, 就是写代码困难.



HTML DOM 中的一切都是源于一个叫 window 对象, 为了和 JS 中的 DOM 一致起来, 本次先获取这个对象.



TWebBrowser 是调用 SHDocVw.dll 的功能并继承与 TOleControl 类, 会用到 SHDocVw 和 OleCtrls 单元.



另外 window 是 IHTMLWindow2 接口类型的, 此接口定义在 MSHTML 单元.

 示例图:

....

WebBrowser 操作记要

WebBrowser1.GoHome;  //到浏览器默认主页

WebBrowser1.Refresh;  //刷新

WebBrowser1.GoBack;  //后退

WebBrowser1.GoForward;  //前进

WebBrowser1.Navigate('...');  //打开指定页面

WebBrowser1.Navigate('about:blank');  //打开空页面

--------------------------------------------------------------------------------

//打开空页面, 并写入...

WebBrowser1.Navigate('about:<head><title>标题></title><body>页面内容</body>');

--------------------------------------------------------------------------------

//读取网页脚本中的变量:

procedure TForm1.Button1Click(Sender: TObject);

var

  s: string;

  i: Integer;

begin

  s := WebBrowser1.OleObject.document.Script.str;

 

显示 jpg、png、gif 图片及 gif 动画

#2楼  2009-03-15 20:23 格兰特 [未注册用户]

这里有个问题,我用delphi7.0,用bmp图像没有问题,

但是用.jpg就出错了,请问万博士为什么啊?

说: x Project2.exe raised exception class EinvalidGraphic with message 'Bitmap is not valid'. Process stopped.

是不是用jpg就得添加点东西在uses里呢?

   

#3楼 [楼主] 2009-03-15 20:33 万一     

@格兰特

加载 jpg、gif、png 分别还有三个对应的组件, 用法和 TBitmap 差不多;

D7 下相应的组件和 2009 下可能不一样, 用 2009 演示恐怕对你无用.

#4楼  2009-03-15 22:09 格兰特 [未注册用户]

万老师,我有delphi2007,可以说说吗?

再问个问题,memo一行最多可以有多少个字符?我要在memo里

分别使用静态数组与动态数组建立一个区域

用 TBytesStream 类实现的读文件为十六进制字符的函数

代码文件:
--------------------------------------------------------------------------------

unit Unit1;

interface
...

一句话获取本机 IP 和判断网络是否联通

判断网络是否联通

uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);

begin

  if InternetGetConnectedState(nil, 0) then ShowMessage('已连接');

end;

 

获取本机IP

//添加 TIdIPWatch 控件: IdIPWatch1

...

常用API 函数:进程和线程函数

...

CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作
CallNamedPipe
分页:[«]3[4][5][6][7][8][9][10][11][12][13][14][15][16][17][»]

日历

<< 2013-5 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

站内搜索

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved