gpt4 book ai didi

c++ - 在C++中使用WinUI的指南

转载 作者:行者123 更新时间:2023-12-01 14:52:13 24 4
gpt4 key购买 nike

我将尽可能简洁地总结我的问题:

  • 我有一个旧的C++项目,该项目使用WinAPI创建和管理UI元素。我想用支持OOP并具有某种视觉设计师的更现代的框架来代替它。我打算通过用新框架逐步替换旧的基于WinAPI的代码来实现此目的(例如,我可以引入一个使用新框架的新弹出窗口,而UI的其余部分仍将使用旧的窗口过程等等)
  • 我的最初计划是使用Qt,因为它可以让我方便地将UI代码包装在对象中,我可以轻松地实例化和管理它们。它还有一个Designer,可让我创建自定义UI元素(包括自动布局管理),Visual Studio扩展,并且总的来说,过去的经验表明Qt非常适合我的目的。但是,这里的用户警告我,它与WinAPI不能很好地协作,因此我基本上必须从头开始重建应用程序。
  • 有人建议我改用WinUI,即XAML与C++ / WinRT结合使用,因为据称它们提供了与我上面所述相同的灵活性。我成功地复制了 "host UWP control in a Win32 app"指南的结果,但除此之外似乎没有什么有用的材料。
  • Microsoft文档很难导航以获得清晰的答案。目前,上面的指南使我相信我仍然会使用WinAPI,因为似乎没有明显的方法可以将UI代码包装在对象中,最好是可以从现有基础中派生的对象类(例如某种基本的Window对象)

  • 我在以下环境中工作:
  • MSVC支持的最新C++功能级别
  • Visual Studio 2019
  • Windows 10(即我不介意我不再与Windows操作系统兼容)

  • 我需要的:
  • 一个明确的答案,关于是否可以以与使用C++在Qt中设计UI代码的方式类似的方式使用XAML和C++ / WinRT。完全没有必要进行奇偶校验,我只是想消除使用WinAPI管理UI的麻烦,实际上我必须“手动”完成所有操作
  • 如果以上情况正确,那么在哪里可以找到有关工作流程各个步骤的指南?如何制作“窗口对象”,如何使用布局管理设计窗口,如何处理UI事件等?
  • 如果需要在我要升级的旧版WinAPI应用程序的上下文中完成上述操作,是否同样可行?
  • 最佳答案

    现在,您有了一个新选项-WinUI 3
    WinUI 3提供了C++的XAML和“现代应用程序” UI,但不会中断向WinRT平台的迁移(它可以与普通的旧Win32一起正常工作)。因此,它是Windows上的旧版C++项目的理想选择。
    https://docs.microsoft.com/en-us/windows/apps/winui/winui3/

    关于c++ - 在C++中使用WinUI的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62474165/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com