【发布时间】:2023-03-25 10:35:03
【问题描述】:
我的问题很难形成,但要开始:
我有一个 MFC SDI 应用程序,我已经工作了很长时间,但它似乎从来不适合 Doc/View 架构。 IE。 Doc中没有任何有用的东西。它是多线程的,我需要在线程等方面做更多的事情。
我也梦想将它移植到 Linux X Windows,但我对那个编程环境一无所知。也许 Mac 也是。
我的问题是从这里去哪里?
我想我想从 MFC Doc/View 转换为带有消息循环和窗口过程等的直接 Win API 的东西。但任务似乎很艰巨。
Linux X Windows 环境是否使用类似的消息循环、窗口过程架构?
我可以走一部分吗?就像一次转换一点,而不会使我的程序无法长时间工作?
稍后添加:
我的程序是一个文件比较程序(听起来很简单。)所以,以一种简单的方式说明我的困惑,通常一个文档可以有多个视图,但在这个应用程序中,我有一个视图有多个(两个)文档(文件)。我有一个“比较引擎”,这是我在 DOS 时代第一次写的,它是程序的核心,视图只是查看该例程的输出。有时我认为我的一些“视图”代码在“文档”类中可能有意义,但我几乎不知道从哪里开始将它分成更多类。我最近开始阅读“Programming Windows”第 5 版。作者:Charles Petzold,(我知道那已经过时了 (C) 1998),希望能更好地理解直接 Windows 编程。
C#、NET、MFC、MVC、Qt、wxWidgets 等选项的激增让我不知所措。
我发现我经常无法理解 MFC 框架中发生的事情,因为我的代码中的某些内容无法正常工作,但问题是我并不真正了解 MFC 是如何处理事情的在后台。这就是为什么我试图学习“直接的 Windows 编程”,我的程序包含我编写的所有消息传递代码。我希望这有助于深入了解我的问题,以便有人可以指导我。
【问题讨论】:
-
Qt 是跨平台的,所以你可以尝试移植到它。此外,它还有一个MFC to Qt porting walkthrough。