我本来想在软件中实现当导航到满足条件的URL时则将其重定向,可是我发现这样子竟然不行(因为该URL可能在框架中,我只想改变该框架的内容而不想改变其他框架的内容):procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
{这里略去判断URL的片断}
URL:='http://hwxk.com';
end;谁能解决?
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
{这里略去判断URL的片断}
URL:='http://hwxk.com';
end;谁能解决?
解决方案 »
- 谁给个Delphi获得游戏操纵杆的源码
- 如何将WPS文件读取到Memo或RichEdit这两个组件中?
- 雪地跪求~~~请问怎样在同一个工程共用两个包含同一个pas文件的控件?~~100分相赠!!UP有分!
- 关于readln()的问题....
- 一个关于Hook API 的问题~~~谢谢~请帮帮忙~:-)
- 关于树的问题??
- delphI 5中的STATUSBAR 控件怎么改变字体大小和颜色呢?
- 请问分布式的c/s应用当中,delphi怎么样实现及时更新每个客户端的软件版本?谢谢大侠们,请多多指教。
- Tmemo
- Form1设为avilable form.用Application.CreatForm(TForm1,Form1);Form1.Show;创建子窗体出错。是不是创建MDI或CHILD不能用以上方法啊?
- BLOB字段读写出错,请帮忙!
- 在delphi中用ado连接foxpro数据库,如何真正的将数据库中的记录删除?真删除,不是假删除!在线等待!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
g_pDisp: IDispatch;
g_URL, g_Flags, g_TargetFrameName, g_PostData, g_Headers: OleVariant;
procedure Redirect(var Message: TMessage); message WM_USER+1;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if Pos('google', URL) > 0 then begin
g_pDisp := pDisp;
g_URL := 'http://www.yahoo.com/';
g_Flags := Flags;
g_TargetFrameName := TargetFrameName;
g_PostData := PostData;
g_Headers := Headers;
PostMessage(Handle, WM_USER+1, 0, 0);
Cancel := True;
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('d:\frame.html');
end;procedure TForm1.Redirect(var Message: TMessage);
begin
(g_pDisp as IWebBrowser2).Navigate2(g_URL, g_Flags, g_TargetFrameName, g_PostData, g_Headers);
end;end.
begin
Result := Unassigned;
if S <> '' then
begin
Result := VarArrayCreate([0, Length(S) - 1], varByte);
Move(Pointer(S)^, VarArrayLock(Result)^, Length(S));
VarArrayUnlock(Result);
end;
end;