2015-04-06 1 views
2

Nous avons une application de bureau C++ en utilisant une ancienne interface graphique MFC; maintenant nous voulons avoir une interface tactile plus moderne. Nous aimerions utiliser le style Windows Metro App. Parce que nous utilisons des sdk qui lient des bibliothèques mfc partagées, nous pensons que nous ne pouvons pas écrire une application WinRT en utilisant ces composants (ou nous avons tort?).
WinRT GUI dans une application de bureau

Est-il possible d'utiliser WinRT GUI api dans une application de bureau (avec du C++ pur sans rien du monde .net, comme WRL/C++)?
Nous voyons un exemple, par exemple using accelerometer WinRT api, mais pas les composants GUI.

+1

C'est une solution valide parfaite. Pourquoi était-ce fermé? Ce fascisme de fermeture commence vraiment à être nul. La réponse est: Non - vous ne pouvez pas mélanger WinRT GUI et l'interface graphique Win32 normale. Et je ne pense pas que WinRT soit assez bon en ce moment pour le porter. La raison mentionnée était que Win32 est inimitable en raison de tout ce vieux message Windows Win32 que personne ne veut casser, donc ils ont créé un nouveau niveau en plus. Mais comme d'habitude, MS s'est arrêté à mi-chemin de cette mission, nous laissant avec quelque chose de moins utilisable que Cocoa. – Lothar

Répondre

1

Veuillez garder à l'esprit que C++/CX est un contenu natif pur. Il n'y a pas de dépendances .NET etc. C'est juste une extension de langage pour simplifier l'interopérabilité COM (je suis sûr que vous savez que WinRT est une API basée sur COM) mais si vous n'aimez pas C++/CX, considérez WRL pour bas niveau interop. Les extensions de langue de C++/CX font gagner du temps, mais vous n'avez pas besoin de les utiliser. Vous pouvez obtenir un accès de niveau inférieur à l'interopérabilité multilingue à partir du langage C++ standard si vous utilisez la bibliothèque WLM (Windows Runtime C++ Template Library). WRL utilise des conventions qui seront familières aux programmeurs COM.

WRL est un moyen indépendant du compilateur pour créer et consommer les API Windows Runtime. Vous pouvez utiliser le WRL au lieu de la syntaxe C++/CX. Il vous permet d'optimiser votre code pour des performances ou pour des scénarios spécifiques. Il prend également en charge les méthodologies de développement d'applications qui n'utilisent pas d'exceptions.