通过HTTP加载外部HTML时,DHTML_EVENT_ONCLICK不起作用?

时间:2012-05-11 13:20:16

标签: c++ windows winapi mfc

我需要为CDhtmlDialog中的A元素处理onclick事件,该事件使用HTTP协议加载外部HTML文件(而不是来自资源的HTML)。我使用以下代码:

BEGIN_DHTML_EVENT_MAP(CAdDialog)
    DHTML_EVENT_ONCLICK(_T("adlink"), OnAnchorClicked)
END_DHTML_EVENT_MAP()

我的A元素HTML如下:

<a href="http://www.google.com/" id="adlink">Click here!!!</a>

我希望当用户点击链接时,CDhtmlDialog会调用OnAnchorClicked函数。但是,没有任何反应。如果它加载外部URL而不是加载资源,看起来DHTML_EVENT_ONCLICK对CDhtmlDialog不起作用?有没有办法在CDhtmlDialog中通过HTTP加载HTML来捕获onclick事件?

1 个答案:

答案 0 :(得分:1)

DHTML_EVENT_TAG(DISPID_HTMLELEMENTEVENTS_ONCLICK, _T("a"), OnLinkClickedMethod)

这真的很痛苦。微软发送id的文档非常糟糕。这将抓住您在CDHtmlDialog中点击的所有链接。

所有未来任性旅行者的注释:所有调度ID都在MsHtmdid.h头文件中。