在 SDI MFC 应用程序中绘制流程图

Posted

技术标签:

【中文标题】在 SDI MFC 应用程序中绘制流程图【英文标题】:Draw flow chart in SDI MFC application 【发布时间】:2017-05-19 18:48:31 【问题描述】:

我正在使用 C++ 开发客户端/服务器应用程序。在服务器应用程序中,我正在运行多个服务器 IP,并且我想在服务器应用程序中显示一个流程图,该流程图必须显示具有一些基本形状(如矩形和圆形)的连接客户端。谁能告诉我如何实现这一目标?有没有可用的 MFC 类

【问题讨论】:

如果可能,请尝试寻找 MFC 的替代方案。它已经完全过时了。 @RalphTandetzky:完全没有根据的意见,抱歉。迄今为止,MFC 仍然是唯一官方支持的基于 C++ 的 Windows 开发框架。它既不是过时的,也没有任何有能力的替代品(可能除了 WTL)。在这种特定情况下,MFC 提供了实现此功能所需的所有工具(即 DC 包装器,不出所料地称为 CDC)。 @IInspectable 当然,C++ 中的 Windows gui 框架还有其他选择:如果您喜欢并希望留在 Microsoft 领域,您可以使用所有 .NET,包括 WinForms 和 WPF。否则 Qt 和 WxWidgets 提供了可移植的解决方案,这些解决方案也可以在其他操作系统上运行。如需更多替代方案,请参阅***.com/questions/115045/…。 @RalphTandetzky:Windows 窗体或 WPF 没有基于 C++ 的本机接口,也没有基于 C++ 的框架。您可以使用 C++/CLI,但这仍然只是通过托管代码控制托管接口。 wxWidget 缺乏支持。 Qt 未能通过 "capable" 部分。即使是正确编写的 Qt 应用程序也无法提供高质量的 UI(您可以使用 MFC 实现的那种)。无论如何,MFC 缺少什么特定功能来解决这个问题的问题? @IInspectable 我不想对意见发起一场激烈的战争,所以我很抱歉第一条评论可能有点苛刻。我知道,微软仍然支持 MFC,尽管微软的重点转向了 .NET gui 组件。 MFC 始于 1992 年,从那时起继承了很多遗产。我经常使用 Qt,我发现它非常有能力提供专业设计的用户界面。我并不是说 MFC 缺少任何特定功能。 【参考方案1】:

我以前做过这样的应用程序,但它只是在 WinApi 中,而不是在 MFC 中。对于连接到服务器的每个客户端,都会显示一个小对话框(设置了“子”标志 - 当然,它有自己的控件)。显示“基本形状”可以通过在自绘控件上自定义绘图来实现。并且MFC提供了许多“包装器”类和函数,封装了WinApi对象但仍然允许访问这些API级对象和调用,即所有可以在WinApi中实现的东西也可以在MFC中实现。尽管如此,MFC 在这里并不是“必要的”或“推荐的”。

我所说的应用程序的屏幕截图。看看下沉的“静态”自绘控件 (SS_SUNKEN | SS_OWNERDRAW),模拟 LED 指示灯的外观。

【讨论】:

以上是关于在 SDI MFC 应用程序中绘制流程图的主要内容,如果未能解决你的问题,请参考以下文章

在 SDI MFC 中绘制方网

在 MFC SDI 应用程序中调用 OnDraw

我们可以在基于对话框的 mfc Visual Studio 2010 中绘制形状(线、圆等)吗?

如何自定义我的按钮?

直线的中点Bresenham算法的实现

我们如何在 React 应用程序中绘制流程图?