MFC 数据库应用程序中的文件菜单
如果创建 MFC 数据库应用程序且不使用序列化,那么关于在没有相应的样式准则时,应如何解释文件菜单上的“打开”、“关闭”、“保存”和“另存为”命令,下面是一些建议:
完全消除“文件”菜单的“打开”命令。
将“打开”命令解释为“打开数据库”,并向用户显示应用程序识别的数据源的列表。
可将“打开”命令解释为“打开配置文件”。保留“打开”命令以打开序列化的文件,但使用该文件存储包含“用户配置文件”信息(如用户首选项)的序列化文档,包括用户的登录 ID(可以选择排除密码)和用户最近使用的数据源。
MFC 应用程序向导支持使用不与任何文档相关的“文件”菜单命令创建应用程序。 选择“数据库支持”页面上的“不提供文件支持的数据库视图”选项。
若要以特定方法解释“文件”菜单命令,您必须重写一个或多个命令处理程序,这些处理程序大多出现在 CWinApp
派生的类中。 例如,如果完全重写 OnFileOpen
(可实现 ID_FILE_OPEN
命令)来表示“打开数据库”:
不要调用
OnFileOpen
的基类版本,因为您将完全替换框架对此命令的默认实现。而是使用处理程序来显示一个列出了数据源的对话框。 可调用
CDatabase::OpenEx
或带参数 NULL 的CDatabase::Open
来显示这类对话框。 这将打开一个 ODBC 对话框,其中显示用户计算机上所有可用的数据源。由于数据库应用程序通常不会保存整个文档,因此您可能需要删除“保存”或“另存为”实现,除非您使用序列化的文档存储配置文件信息。 否则,可将“保存”命令作为“提交事务”等来实现。若要详细了解如何替代这些命令,请参阅技术说明 22。