1

I need to process onclick event for A element in CDhtmlDialog that loads external HTML file with HTTP protocol (not HTML from resource). I use following code:

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

My A element HTML follows:

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

I expect that CDhtmlDialog will call OnAnchorClicked function when user clicks the link. However, nothing happens instead. It looks like DHTML_EVENT_ONCLICK doesn't work for CDhtmlDialog if it loads external URL instead of loading resource? Is there any way to catch onclick event for HTML loaded via HTTP in CDhtmlDialog?

4

1 に答える 1

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

それを見つけるのは本当に苦痛でした。ディスパッチIDに関するMicrosoftのドキュメントはひどいものです。これにより、CDHtmlDialogでクリックされたすべてのリンクがキャッチされます。

今後のすべてのわがままな旅行者への注意:すべてのディスパッチIDはMsHtmdid.hヘッダーファイルにあります。

于 2012-05-12T04:32:09.093 に答える