-1

我有这个程序,它显然是用 C++ 编码的,我可以看到窗口(对话框)是原生的,但在窗口中间,它有现代外观的 UI 元素,当我右键单击客户区(带有现代 UI 元素)它显示了一个上下文菜单,就像 Web 浏览器一样(与 Internet Explorer 几乎相同的项目)。

该程序还有一个更新版本,显然它的编码与以前相同,但网络浏览器区域中的内容现在在 Silverlight 中编码。

所以根据我的理解,这只是一个在客户端区域带有 HTML 网页的本机窗口,它允许利用 CSS 设计。

我很想知道如何用 C++ 开发这样的程序以及如何在这样的系统中完成事件处理。

任何帮助深表感谢。谢谢

4

1 回答 1

0

基本上,您可以通过将 Web 浏览器控件嵌入到您的应用程序中来做到这一点。Microsoft 直接提供此类控件,或者您可以使用第 3 方替代方案。

  1. 在 WinForms 中,您可以像添加任何其他常用控件一样添加 WebBrowser 控件,请参见此处。您还可以在 WPF 应用程序中包含相同的控件。

  2. 上面的 .Net WebBrowser 控件默认模拟 IE7(我相信),即使用户安装了更新版本的 IE。您可以使其使用更新的版本,如各种在线资源中所示。然而,更好的选择是根本不使用 IE 或 WinForms WebBrowser 控件。考虑CefSharp。“Cef”代表 Chromium 嵌入式框架,它是一个原生库。CefSharp 是 CEF 的 C# 包装器。

  3. 如果您不使用 C#,则可以在本机 Win32 应用程序中嵌入 CEF。或者,您可以将 Microsoft 的基于 IE 的控件嵌入为本质上的 COM 对象,但在这种情况下我会推荐前者。这正是 CEF 的用途。

于 2019-07-12T23:35:54.523 回答