在C ++中使用MSHTML作为GUI,是否有一个教程?

时间:2009-01-24 23:32:50

标签: c++ user-interface dom mshtml

我想将我的应用程序迁移到使用MHTML用于GUI,因为在不重写C ++的情况下尝试布局会更容易。

遗憾的是,我发现的并不是我所需要的,而是:

  • 从内存中提取HTML
  • 在我的C ++代码中接收诸如onclick等事件
  • 通过DOM操纵它,例如,设置特定元素的innerHtml

1 个答案:

答案 0 :(得分:2)

丑陋的部分将接收事件。直接编写到C ++中的MSHTML的COM接口以将逻辑附加到HTML GUI如果你“原始”这样做将会非常难看。您可能需要在应用程序逻辑和HSHTML之间放置一层薄薄的库代码,以隐藏与COM相关的plumming。

最终这是对Firefox的XUL之类的重新发明 - 请参阅http://en.wikipedia.org/wiki/XUL。您可能会发现以这种方式更准备好使用。你将托管Gecko引擎而不是MSHTML。

或者您也可以使用WPF,这也是非常相似的。鉴于您在Windows上(因为您对MSHTML的依赖感到满意),您可以在C#中编写GUI内容并通过C ++ / CLI将其绑定到C ++代码。