桌面应用程序中的WinRT GUI

时间:2015-04-06 18:18:33

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

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

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

1 个答案:

答案 0 :(得分:1)

请记住,C ++ / CX是纯粹的原生内容。没有.NET依赖等。它只是简化COM互操作的语言扩展(我确定你知道WinRT是基于COM的API)但是如果你不喜欢C ++ / CX,那么考虑低级别的WRL互操作。

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

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