我需要为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事件?
答案 0 :(得分:1)
DHTML_EVENT_TAG(DISPID_HTMLELEMENTEVENTS_ONCLICK, _T("a"), OnLinkClickedMethod)
这真的很痛苦。微软发送id的文档非常糟糕。这将抓住您在CDHtmlDialog中点击的所有链接。
所有未来任性旅行者的注释:所有调度ID都在MsHtmdid.h头文件中。