I
iseek
Unregistered / Unconfirmed
GUEST, unregistred user!
一直没玩过IE菜单.
今天看到一个旧帖子如下:
---------------------------
打开Delphi,点击菜单: 文件|新建 ,选择窗口中的ActiveX标签,在列表中
选择ActiveX Library
图标后按确定键,这样就新建了一个Active Library工程。然后将工程文件保存为
IEContextMenu.dpr 。
再点击菜单: 文件|新建 ,选择窗口中的ActiveX标签,在列表中选择
Automation Object 图标后按
确定键,然后在 Automation Object Wizard 窗口中的CoClass Name栏中输入
IEMenu1后按确定键。
这时会弹出IEContextMenu.tlb 的Type Library窗口,左边是对象和属性等的列表
窗口,右边是相应的选项窗口。在其中已经加入了IIEMenu1接口。
现在给接口添加一个GetURL方法。首先选择Type Library列表中的IIEMenu1
项,然后点击Type Library
窗口上面的 New Method 按钮添加一个方法,将该方法的Name属性改为GetURL。
下来再点击Parameters标签转到参数设定页,添加两个参数:URL和Info,
属性都设置为BSTR,设置好的Type
关闭设置窗口回到Delphi,点击save all按钮保存文件,现在IEMenu对象建立
完毕了,在对象中我们将只实现最简单的功能,既显示用户在页面中单击右键位置
的对象URL,所以在Unit1的TIEMenu1.GetURL子程序中只添加一句:
showmessage(URL);
同时在Unit1的Uses中加入Dialogs。选择菜单上的Build | Build
IEContextMenu 项编译生成IEContextMenu.dll。
-----------------------------------------
按照上述步骤做了,生成的IEMenuUnit单元如下:
unit IEMenuUnit;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ComObj, ActiveX, IEContextMenu_TLB, StdVcl;
type
TIEMenu1 = class(TAutoObject, IIEMenu1)
protected
procedure GetURL(const URL, Info: WideString); safecall;
end;
implementation
uses ComServ;
procedure TIEMenu1.GetURL(const URL, Info: WideString);
begin
/////////////////////////////////////////////
end;
initialization
TAutoObjectFactory.Create(ComServer, TIEMenu1, Class_IEMenu1,
ciMultiInstance, tmApartment);
end.
--------------------------------------------
我现在的问题是:过程GetURL应该怎么写,肯定不会是真写上showmessage吧.
我的程序主窗口该怎样才能得到这个过程的参数URL?请大虾指教.
今天看到一个旧帖子如下:
---------------------------
打开Delphi,点击菜单: 文件|新建 ,选择窗口中的ActiveX标签,在列表中
选择ActiveX Library
图标后按确定键,这样就新建了一个Active Library工程。然后将工程文件保存为
IEContextMenu.dpr 。
再点击菜单: 文件|新建 ,选择窗口中的ActiveX标签,在列表中选择
Automation Object 图标后按
确定键,然后在 Automation Object Wizard 窗口中的CoClass Name栏中输入
IEMenu1后按确定键。
这时会弹出IEContextMenu.tlb 的Type Library窗口,左边是对象和属性等的列表
窗口,右边是相应的选项窗口。在其中已经加入了IIEMenu1接口。
现在给接口添加一个GetURL方法。首先选择Type Library列表中的IIEMenu1
项,然后点击Type Library
窗口上面的 New Method 按钮添加一个方法,将该方法的Name属性改为GetURL。
下来再点击Parameters标签转到参数设定页,添加两个参数:URL和Info,
属性都设置为BSTR,设置好的Type
关闭设置窗口回到Delphi,点击save all按钮保存文件,现在IEMenu对象建立
完毕了,在对象中我们将只实现最简单的功能,既显示用户在页面中单击右键位置
的对象URL,所以在Unit1的TIEMenu1.GetURL子程序中只添加一句:
showmessage(URL);
同时在Unit1的Uses中加入Dialogs。选择菜单上的Build | Build
IEContextMenu 项编译生成IEContextMenu.dll。
-----------------------------------------
按照上述步骤做了,生成的IEMenuUnit单元如下:
unit IEMenuUnit;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ComObj, ActiveX, IEContextMenu_TLB, StdVcl;
type
TIEMenu1 = class(TAutoObject, IIEMenu1)
protected
procedure GetURL(const URL, Info: WideString); safecall;
end;
implementation
uses ComServ;
procedure TIEMenu1.GetURL(const URL, Info: WideString);
begin
/////////////////////////////////////////////
end;
initialization
TAutoObjectFactory.Create(ComServer, TIEMenu1, Class_IEMenu1,
ciMultiInstance, tmApartment);
end.
--------------------------------------------
我现在的问题是:过程GetURL应该怎么写,肯定不会是真写上showmessage吧.
我的程序主窗口该怎样才能得到这个过程的参数URL?请大虾指教.