MFC 数据库应用程序中的文件菜单

如果创建 MFC 数据库应用程序而不使用序列化,应如何解释“文件”菜单上的“打开”、“关闭”、“保存”和“另存为”命令,但此问题没有样式准则,下面是一些建议:

  • 完全消除“文件”菜单的“打开”命令。

  • 将 Open 命令解释为“打开数据库”,并向用户显示应用程序识别的数据源列表。

  • 将 Open 命令解释为“打开配置文件”。保留 Open 以打开序列化文件,但使用该文件存储包含“用户配置文件”信息的序列化文档,例如用户的首选项,包括其登录 ID(可选不包括密码)和最近使用的数据源。

MFC 应用程序向导支持创建没有与文档相关的文件菜单命令的应用程序。 选择“数据库支持”页上没有文件支持选项的数据库视图

若要以特殊方式解释文件菜单命令,必须重写一个或多个命令处理程序,主要是在派生类中 CWinApp。 例如,如果完全重写 OnFileOpen (它实现了 ID_FILE_OPEN 命令),表示“打开数据库:”

  • 请勿调用基类版本 OnFileOpen,因为完全替换了框架的默认命令实现。

  • 请改用处理程序来显示一个对话框,其中列出了数据源。 可以通过调用 CDatabase::OpenExCDatabase::Open 参数 NULL 来显示此类对话框。 这将打开一个 ODBC 对话框,该对话框显示用户计算机上的所有可用数据源。

  • 由于数据库应用程序通常不保存整个文档,因此可能需要删除“保存”和“另存为”实现,除非使用序列化的文档来存储配置文件信息。 否则,可以实现“保存”命令,例如“提交事务”。有关重写这些命令的详细信息,请参阅 技术说明 22

另请参阅

序列化:序列化与数据库输入/输出