c++ - 桌面应用程序中的 WinRT GUI

标签 c++ mfc windows-runtime microsoft-metro mahapps.metro

<分区>

我们有一个使用旧 MFC GUI 的 C++ 桌面应用程序;现在我们想要一个更现代的触摸 GUI。我们想使用 Windows Metro 应用程序样式。
因为我们使用一些链接共享 mfc 库的 sdk,我们认为我们不能使用这些组件编写 WinRT 应用程序(或者我们错了?)。

是否可以在桌面应用程序中使用 WinRT GUI api(使用纯 C++,没有任何 .net 世界,如 WRL/C++)?
我们看到一些例子,即 using accelerometer WinRT api ,但不是 GUI 组件。

最佳答案

请记住,C++/CX 是纯原生的东西。没有 .NET 依赖项等。它只是简化 COM 互操作的语言扩展(我确定您知道 WinRT 是基于 COM 的 API),但如果您不喜欢 C++/CX,请考虑使用 WRL 进行低级互操作。

C++/CX 的语言扩展可以节省时间,但您不必使用它们。如果使用 Windows 运行时 C++ 模板库 (WRL),则可以从标准 C++ 获得对跨语言互操作的较低级别访问权限。 WRL 使用 COM 程序员熟悉的约定。

WRL 是一种与编译器无关的方式来创建和使用 Windows 运行时 API。您可以使用 WRL 而不是 C++/CX 语法。它使您能够针对性能或特定场景优化代码。它还支持不使用异常的应用程序开发方法。

关于c++ - 桌面应用程序中的 WinRT GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29477041/

相关文章:

android - 我需要 root 权限才能在 Android 下执行 native 应用程序?

c++ - Boost.Test 应用程序调试

C++ opencv编译错误-Windows7 64位使用Eclipse CDT

c++ - 我如何决定是否为新的 C++ 项目使用 ATL、MFC、Win32 或 CLR?

c# - 如何在 Windows 8 应用商店应用程序中访问 IMAP?

c++ - 如何在 C++ 中创建结构的实例?

c++ - MFC 和 UI 自动化支持

c++ - 具有相对路径的 CFileDialog

c# - 如何在 Windows 8 c# 中将图像 url 保存到本地文件

windows-8 - winrt 是否可以在资源库中定义画笔颜色