我想将我的应用程序迁移到对 GUI 使用 MHTML,因为不用每次都重写 C++ 来试验布局会更容易。
不幸的是,我发现的不是我需要的,它们是:
- 从内存中输入 HTML
- 在我的 C++ 代码中接收诸如 onclick 等事件
- 通过 DOM 对其进行操作,例如,设置特定元素的 innerHtml
我想将我的应用程序迁移到对 GUI 使用 MHTML,因为不用每次都重写 C++ 来试验布局会更容易。
不幸的是,我发现的不是我需要的,它们是:
丑陋的部分将是接收事件。直接在 C++ 中对 MSHTML 的 COM 接口进行编码以将逻辑附加到 HTML GUI,如果你“原始”地这样做,那将是非常难看的。您可能希望在应用程序逻辑和 HSHTML 之间放置一层薄薄的库代码,以隐藏与 COM 相关的直线。
归根结底,这是对 Firefox 的 XUL 之类的重新发明 - 请参阅http://en.wikipedia.org/wiki/XUL。您可能会发现以这种方式更易于使用。您将托管 Gecko 引擎而不是 MSHTML。
或者,您也可以使用 WPF,这又非常相似。鉴于您在 Windows 上(因为您对 MSHTML 的依赖感到满意),您可以用 C# 编写 GUI 内容,并通过使用 C++/CLI 公开将其绑定到 C++ 代码。