BHO技术问题:做一个IE的toolbar,点击按钮,弹出对话框并取得当前页面的标题地址(100分) ( 积分: 100 )

  • 主题发起人 主题发起人 OMM
  • 开始时间 开始时间
O

OMM

Unregistered / Unconfirmed
GUEST, unregistred user!
现在是点击按钮时无法显示我自己的窗体?报错!!!!请问各位如何调用窗体 谢谢
 
现在是点击按钮时无法显示我自己的窗体?报错!!!!请问各位如何调用窗体 谢谢
 
没人感兴趣的话题吗??[:(]
 
你可以把代码帖出来看看啊!
 
最原始的bho代码,,创建IEtoolbar ,按钮的单元为IEToolBar,如下代码:
建一个弹出菜单,ShowMessage可以弹出;vvFrm 为令一个窗体,弹出时候报错!!


??对弹出窗体有什么特殊要求吗??谢谢拉

unit IEToolBar;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TFlatButtonUnit,SHDocVw, TFlatSpeedButtonUnit, Menus;

type
TieFrm = class(TForm)
flatBtn: TFlatButton;
FlatSpeedButton1: TFlatSpeedButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure FlatSpeedButton1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
IEThis:IWebbrowser2

{ Public declarations }
end;

implementation
{$R *.dfm}
uses FovFrm;

var
vvFrm : TMainFrm;

procedure TieFrm.FlatSpeedButton1Click(Sender: TObject);
var
myP: TPoint;
showY: Integer;
begin
GetCursorPos(myP);
showY := self.FlatSpeedButton1.Top + self.FlatSpeedButton1.Height;
PopupMenu1.Popup( myP.X , showY );
end;

procedure TieFrm.N1Click(Sender: TObject);
begin
ShowMessage('测试弹出');
end;

procedure TieFrm.N2Click(Sender: TObject);
begin
vvFrm.Show;
end;

end.
 
vvFrm没Create你就Show了?那不出错才怪列!
 
来自:zqw0117, 时间:2005-10-26 11:05:02, ID:3244243
vvFrm没Create你就Show了?那不出错才怪列!


vvFrm是已经在下项目中建好的一个窗体!!!
 
你不是exe,没有dpr文件中的Application.CreateForm(vvFrm, TvvFrm)创建实例!当然是没有初始化的窗体啦!不是在设计时期能看到的窗体都在运行的时候创建了!!!!你先看看基础教程吧。
 
procedure TieFrm.N2Click(Sender: TObject);
begin
if vvFrm = nil then vvFrm := TMainFrm.Create(nil);
vvFrm.Show;
end;

帮你改了下!(不是我批评你,自己动手这问题很容易解决啊)
不过仍然有问题,就是这个窗体的释放还是问题。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部