自己的COM Server控制IE: 用户用键盘选中热区, 激发的是什么事件?(300分)

  • 主题发起人 主题发起人 景冰
  • 开始时间 开始时间

景冰

Unregistered / Unconfirmed
GUEST, unregistred user!
我的DLL Inproc COM, 可以接收IE的事件处理, 但用户用键盘的tab键,选中了当前页
的一个热区后,激发的是IE的什么事件? 我想处理这个事件,望博学的朋友们提个醒.
 
var
spDisp : IDispatch;
HtmlInputEle : IHTMLInputElement
begin
....
spDisp := ielc.item(J, 0);
if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement ,HtmlInputEle))then

因为item有好多种类型,所以最好对每一种都声明一个变量,像这里的HtmlInputEle 就是
一个网页中的input框。对每一种类型(或者只用你想处理的那几种也可以)用
spDisp.QueryInterface(类型接口 ,接口变量)) 来判断是否该类型,然后再访问该类型
变量的属性和方法。

**************************IHTMLElementCollection**********************
This interface provides access to a collection of element objects.
This collection is indexed first by name, then by id. If duplicate names are found, a collection of those named items is returned. Collections of duplicate names must subsequently be referenced by ordinal position.
A zero-based collection, in source order, of all elements in a given form. This collection can contain any combination of INPUT, SELECT, and TEXTAREA elements.
IHTMLElementCollection Methods toString put_length get_length
get__newEnum item tags
***************IHTMLElementCollection.Item****************************
HRESULT item(
VARIANT name,
VARIANT index,
IDispatch **pdisp
);

 
forgot2002: thanks
你说的如何access 这些html标记是对的, 我是想首先捕获到用户按tab键后激发的
那个事件, 想知道那个事件是什么, 然后拦截它先处理. (就象html文档下载完后,
一个downloadcomplete事件就被引发)

我看了msdn, 我猜是否可能是HTMLElementEvents::onactivate事件呢?
另外, HTMLElementEvents和HTMLElementEvents2有什么区别呢? 好多事件如
HTMLAnchorEvents都还有一个如HTMLAnchorEvents2, 内容都一样, 为什么有两个呢?

请问forgot2002用过吗, 各位来者知道一点的, 请从各个角度不吝赐教, 来者有分.
 
谢谢唯一的来者forgot2002
 
后退
顶部