我目前在我的程序中使用 RichText 控件。它创建了几个 RichText 控件实例(数百个),因为它是一个便签程序。
我希望用一个轻量级的 HTML 控件替换它,它的功能类似于 RichText 控件(文本格式、项目符号、链接、图像等)
你知道我是否可以在我的 C++/MFC 程序中使用任何免费/商业的轻量级 HTML 控件吗?
谢谢。
Terra Informatica 有免费的 HTMLayout 引擎:http ://www.terrainformatica.com/htmlayout/main.whtm
它主要用作应用程序的皮肤引擎,但也可能有一种编辑模式,因为他们使用自己的库构建了一个所见即所得的编辑器。
我犹豫是否建议这样做,因为它本质上是一个组件的完整框架,但是 wxWidgets 有一个非常简单和轻量级的实现,wxHTML。
该库可以根据您的需要构建,因此您应该能够仅使用 wxHTML 及其所需的任何依赖项进行构建。据我所知,它可以与 MFC 混合使用而不会产生任何后果。(不过,如果你愿意,用 wx 重写你的整个应用程序会使其跨平台。)
我会强调这是一个非常基本的实现,所以如果你需要更强大的东西,它可能不是最好的。如果您需要一个完整的浏览器,wxWebConnect 将 WebKit 包装在 wx 中,但此时可能会有更好、更以 MFC 为中心的解决方案。
如果您感觉特别喜欢冒险并且不想要任何 wxWidgets 依赖项但喜欢轻量级 wxHTML,您可以随时深入 wxWidgets 源并提取该控件的特定于 windows 的代码。
(我试图链接到 wxWidgets 站点和 wxWebConnect 以供您参考,但似乎我只能在我的帖子中添加一个链接。如果您愿意,请在 Google 上搜索。)
既然你在 Windows 上,有什么理由不想使用 MSHTML 控件吗?它可以通过CHtmlView在 MFC 中使用。由于 O/S 的许多其他部分都在使用它,因此 DLL 可能已经加载,因此实例化它会非常快。
我们在我们的项目中使用它,它也有一个全面的 COM API ( IWebBrowser ) 和事件反馈。
我不知道每个实例的内存/CPU 成本,因此您可能需要进行一些测量。
总是有WebKit,Apple Safari、Google Chrome 和许多其他人都在使用它。