请教关于AtlAdvise函数的问题(ATL控件事件捕获)
我想将HTML Document的Body元素与一个接口连接起来,此接口用来处理事件,但不知为什么接收不到任何消息?如果不用Body,改用Div或其它元素则没问题,这是什么原因?难道Body不能接收消息,但是在HTML脚本中可以啊?是不是参数的设置问题啊?
hr = CComObject<CEventSink>::CreateInstance(&m_pEventSink);
if (SUCCEEDED(hr))
{
m_pEventSink->AddRef();
m_pEventSink->m_pBehavior = this;
hr = AtlAdvise(m_spElem, (IDispatch*)m_pEventSink,
DIID_HTMLElementEvents,
&m_dwCookie);
}
如果m_spElem为Div或其它元素则无问题,如为Body则不行,接收不到任何消息。是不是与第三个参数有关?除了DIID_HTMLElementEvents,还可以设哪些值?
如能成功解决,200分相谢。
问题点数:20、回复次数:2Top
1 楼gloom(苍狗白云)回复于 2002-11-08 14:26:18 得分 0
高手在哪里呢?Top
2 楼WieldWolf(怎么处理用户交互啊)回复于 2002-11-08 16:01:03 得分 20
将第三个参数设为DIID_HTMLDocunentEvents就可以了Top




