哪个类别的MFC应用程序最适合我的多窗口项目

哪个类别的MFC应用程序最适合我的多窗口项目,mfc,Mfc,该应用程序将有四个窗口,每次必须在单监视器(5“x5”)机器或双监视器(5“x5”)机器上分别显示一个或两个窗口。该应用程序有两种操作模式;用户模式和维护模式。在用户模式下,无需通过鼠标或键盘进行用户输入;然而,应用程序通过一些方式感知一些输入。而另一种是互动的。在用户模式下,根据可用的显示器数量,应用程序必须显示一个或两个窗口;如果有两个显示器可用,它必须进行处理并在两个显示器上显示不同的消息集和小图像。在维护模式下,根据可用显示器的数量,必须显示一个或两个窗口;如果有两个显示器可用,它必须通

该应用程序将有四个窗口,每次必须在单监视器(5“x5”)机器或双监视器(5“x5”)机器上分别显示一个或两个窗口。该应用程序有两种操作模式;用户模式和维护模式。在用户模式下,无需通过鼠标或键盘进行用户输入;然而,应用程序通过一些方式感知一些输入。而另一种是互动的。在用户模式下,根据可用的显示器数量,应用程序必须显示一个或两个窗口;如果有两个显示器可用,它必须进行处理并在两个显示器上显示不同的消息集和小图像。在维护模式下,根据可用显示器的数量,必须显示一个或两个窗口;如果有两个显示器可用,它必须通过键盘或鼠标接收一些用户输入,在进行少量处理后,它必须在两个显示器上显示相同的图像和消息。关于处理要求,应用程序使用少量TCP/IP套接字进行消息交换,通过串行端口与少量串行设备通信,并与轻量级数据库交互。应用程序将没有任何菜单;仅在小型显示器上,它必须显示一些信息和小型图像;信息和图像必须经常更新

我的问题是哪一类MFC应用程序(基于对话框、SDI或MDI)适合我的应用程序

到目前为止,该应用程序是基于对话框的应用程序,具有一个模态对话框和三个非模态对话框。根据显示的数量,它会创建一个模式对话框和另一个非模式对话框(对于单显示),并且在任何时候都会显示一个对话框并隐藏其他对话框,如果是双显示,它会创建一个模式对话框和另一个三模式对话框;但是,它一次只显示两个对话框。PostMessage用于对话框之间的消息交换


关于这方面的任何建议都可能对我有很大帮助。

在这里,您需要什么,但目前的安排没有给您?听起来你的方法不错。MDI不适合多个屏幕。如果您需要模式对话框滚动,SDI可能会有所帮助(它将用CFormView替换您的模式对话框)。

您描述的解决方案非常可行,您寻找替代方案是否有原因?第一个原因是我从未使用过其他两种类型;所以我需要你的意见。其次,在我的应用程序的维护模式下,两个屏幕都有相同的内容,但我通过PostMessage从一个屏幕到另一个屏幕交换相同的消息。第三,除了一些静态文本和图像外,还有用户id和密码输入文本框,需要在一个屏幕上显示,同时在另一个屏幕上复制;否则,用户可能会在一个未激活的屏幕上接受键盘输入时感到延迟。我对目前的安排感到满意,但有一种情况除外,即一个对话框的文本框通过键盘接受一些输入,并将这些输入复制到第二个对话框的另一个文本框中。即,每次用户按下一个键,文本框的内容必须复制到第二个对话框上的文本框中。当用户进入此模式时,显示器上显示的其中一个对话框上的文本框是聚焦的,并显示字符,但在另一个对话框上的另一个未聚焦的文本框上显示相同的字符需要一些时间。如果我可以显示,则会更好两个屏幕上的对话框相同。