设计模式保存MFC对话框控件状态的步骤

Design Pattern To save MFC Dialog Controls States

本文关键字:控件状态 对话框 保存 MFC 设计模式      更新时间:2023-10-16

我编写了用MFC编写的GUI应用程序。应用程序具有不同的对话框。每个对话框都有默认选项,但用户可以根据需要选择不同的选项。我想把用户选择的所有选项保存到一个文件中,这样当我们下次运行我的应用程序时,我加载的这些选项是用户上次选择的,而不是默认选项。最好的设计模式是什么?现在,我有一个SaveIO和LoadIO类,它们与所有Dialog类交互。我不确定这是否是最好的方法,因为每次添加另一个对话框时,我都必须更新SaveIO和LoadIO类。

问候

我认为您最好一方面区分对话框,另一方面区分程序的配置。

考虑到您试图实现的目标,听起来您想要一个支持序列化的配置对象,以及一些可以修改配置对象当前状态的对话框。

通过这种方式,保存/恢复配置只是序列化/取消序列化配置对象。

这与MFC通常遵循的基本文档/视图范式非常相似——配置对象与模型非常对应,对话框与配置对象(部分)的视图相对应。

更好的选择是在对话框和负责保存和加载其状态的类之间建立1-1的关系。这样,当您添加一个新对话框时,只需要添加两个类来处理状态的保存和加载,并且不需要更改现有代码。

使用约定,您应该能够根据所使用的对话的名称来计算出负责保存和加载的类的名称。