IHtmlElement的事件(100分)

  • 主题发起人 主题发起人 coolbaby
  • 开始时间 开始时间
C

coolbaby

Unregistered / Unconfirmed
GUEST, unregistred user!
用EventSink导出的IHtmlElement的事件。
象IHtmlLinkElement等具体的element的事件可以connect
但是,对于IHtmlElement接口,一旦connect
IE就会报错。
都是通过连接点实现的,一样的connect方法,为什么会这样呢
有谁碰到过类似情况
是EventSink的问题,还是mshtml本身的问题?

如果不用EventSink自己写连接点的实现部分,会不会好使?
谢谢
 
IHtmlElement ,将它转换成具体的元素接口呢。
 
具体的元素接口好像是可用
可是我要用的是IHtmlElement 接口的东西
把它转为为别的接口作什么?
 
IHtmlElement
到底时mshtml的问题
还是EventSink的问题
还是delphi的问题?

cathyEagle呢,知道么?
 
你想做甚麼啊?
說來聽聽,沒準能上妳!
DHTMLEdit嗎?
 
不是
具体元素的事件倒是没问题
就是IHtmlElement的事件有问题
是不是delphi的毛病,还是eventsink的问题
 
IHtmlElement 是不是“抽象”接口,
通过它的派生接口试试。
 
抽象接口?
接口都是抽象的呀
 
我可能还是讲德不够清除
IHtmlElement指针,取出来的是正确的
但是一旦连接事件,则IE会报错

 
等我有工夫研究一下.
 
cathyEagle
应该研究过吧,怎么不说话?
 
我现在正在做一个能够捕捉Web页面上发生的事件的组件,
不知道,你所说的是什么意思,
要用来做什么?能把你的源码给大家看看吗?
 
to LiChaoHui,
你捕获Web页面上发生的事件
我和你差不多,不过使捕获具体某个元素的事件。我是直接用eventSink导出组件
的。所以几乎不用些代码,你用过eventsink么?
 
to coolbaby:

我也是捕捉Web页面上发生的事件,只不过,我只捕捉TWebBrowser控件
我写的组件可以捕捉某一类元素的事件,也可以捕捉某一个元素的事件,
可以捕捉单个事件,也可以多个,

你说的eventsink是什么东东啊?麻烦详细介绍一下,谢谢
 
to LiChaoHui:
总算等到一个可以说上话的人了,呵呵,欢迎
我的问题里,应该写的很清楚了,可以捕获IHTML...Element的事件,但是不能
捕获IHTMLElement的事件,但是由于IHTML...Element的事件接口里,往往没有IHTMLElement
的一些事件接口,比如说OnMouseClick等。所以,必须捕获到IHTMLElement的事件。
Eventsink可以帮你生成,查询连接点,advise,并把他们封装到类中,你可以上
http://www.techvanguards.com 下载。
你写的控件,捕获IHTMLElement的事件了么。如果,可以那就是EventSink的bug了,
不过,我好像自己尝试过直接invoke,好像对IHTMLElement的事件也找不到。
另外,你写的控件,可以给我试用一下么,谢谢。

 
我觉得是这些元素本身不支持联结点的接口,
所以不能通过这种方式进行连接
 
用你所说的方法,对于 <A>标记,
竟然查询不到IHtmlLinkElement,
能找到IConnectionPointContainer接口
但是却找不到联结点的接口指针,所以不可能advise


可能IHTMLElement并不能用连接点来添加事件,

我是用attachEvent来关联事件的,我做了一个通用的组件,
可以针对各种页面
这种方法也只能用于页面元素,
不过也可以捕捉document ,和 window等对象的事件,
仅仅是捕捉(监听),如果有必要,可以做成拦截的
正好,还差一点,等好了我发给你,帮我测试一下吧,
这个组件是我的组件包中的一个组件,目的是,
希望让应用程序控制页面与用户进行交互
 
to LiChaoHui,
IHTMLLinkElement可以找到连接点,可以advise,可以正常触发事件。
但是,IHTMLElement却不可以通过这种方法触发事件。
IHTMLElement并不能用连接点来添加事件,那么
你用的attachEvent和连接点有说明区别呢?
我好像第一次听说这个名词,是属于com的内容么,请赐教
你的控件什么时候好,我一定帮你测试一下。
mail:cbychen@sina.com
 
后退
顶部