试问 MFC中 CDHtmlDialog的 IHTMLElement用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试问 MFC中 CDHtmlDialog的 IHTMLElement用法相关的知识,希望对你有一定的参考价值。

MFC基于html对话框的工程中,网页元素的点击事件映射函数
HRESULT DialogBox::OnClick(IHTMLElement* /*pElement*/)里
可否有一种方法获取点击事件源的HTML标签的id?
就是HTML中有一个<td>,其id为td_id,如在这个TD上点击以后,在此TD的点击映射函数
HRESULT DialogBox::OnClick(IHTMLElement* /*pElement*/)里
能否得到这个td_id?
如能,怎么实现?
知者,劳烦添加必要的注释...

有个函数getElementById
再就是分析整个html框架,枚举所有元素,在比较是否是你要找的那个
网上流传这一个很经典的代码,分析网页元素的代码,楼主可以修改一下,EnumFrame(IHTMLDocument2 *pIHTMLDocument2),EnumForm(IHTMLDocument2 *pIHTMLDocument2),主要是这两个函数构成的
希望对你有帮助
参考技术A 来芳草 参考技术B 这个问题我也想知道,知道答案的话麻烦你也告诉我一下,谢谢!~!

为啥在 CDHtmlDialog 中禁用视觉样式

【中文标题】为啥在 CDHtmlDialog 中禁用视觉样式【英文标题】:Why visual style is disabled in CDHtmlDialog为什么在 CDHtmlDialog 中禁用视觉样式 【发布时间】:2013-07-16 11:43:10 【问题描述】:

我创建了一个基于 MFC html 对话框的应用程序,该对话框继承自 CDHtmlDialog,html 上的所有按钮都具有经典样式而不是视觉样式,这是为什么呢?我怎样才能改变这种行为???在其他对话框上启用了视觉样式,在同一个项目中,当我显示一个从 CDialog 继承的普通对话框时,它的按钮显示视觉样式。

这是为什么呢??

【问题讨论】:

【参考方案1】:

我在这篇文章http://www.webdbtips.com/89962/找到了答案

将此标签添加到html页面

<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">   

或将以下行添加到继承自 CDHtmlDialog 的类的主体中

STDMETHOD(GetHostInfo)(DOCHOSTUIINFO *pInfo)pInfo->dwFlags |= DOCHOSTUIFLAG_THEME; return S_OK;;

这为我启用了视觉风格

【讨论】:

以上是关于试问 MFC中 CDHtmlDialog的 IHTMLElement用法的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在尝试调用 CDHtmlDialog::OnInitDialog() 时看到崩溃

一个 CDHtmlDialog 派生类 可不可以不绑定某一个html, 而动态的指定要显示在上面的html资源?

MFC 向导外观

为啥在 CDHtmlDialog 中禁用视觉样式

如何在页面加载之前隐藏 CDHTMLDialog?

CDHTMLDIALOG中对input type=file的操作