Поделиться через


Меню "Файл" в приложении базы данных MFC

При создании приложения баз данных MFC и не использовать сериализацию, как следует интерпретировать команды открыть, сохранить и окончания, сохранить как в меню Файл?Пока никакие правила стиля для данного вопроса, вот несколько предложений:

  • Исключите меню Файл команду открыть.

  • Команда интерпретировать как открыть «открытая база данных» и показать, что пользователь список источников данных приложение распознает.

  • Команда интерпретировать как открытая, возможно, «открытый профиль». Сохраните открытый для открытия сериализованный файл, но используйте файл для хранения сериализованный документ, содержащий данные «профиля пользователя», как предпочтения пользователя, включая его или ее потребностям имя пользователя (за исключением паролей) и при необходимости источник данных он недавно работала с.

Мастер приложений MFC поддерживает создание приложения без документ-родственных команды меню " Файл ".Выберите параметр Представление БД без поддержки файлов на странице Поддержка базы данных.

Для интерпретации команда меню " Файл особым образом, необходимо переопределить один или несколько обработчиков команд, главным образом, в CWinApp- производном классе.Например, если полностью переопределять OnFileOpen (которые реализует команду ID_FILE_OPEN ) для означать «открытую базу данных. »

  • Не вызывайте версия базового класса OnFileOpen, поскольку полностью заменить реализацию инфраструктуры команды по умолчанию.

  • Вместо этого используйте обработчик для отображения списка диалогового окна источники данных.Можно отобразить это диалоговое окно, вызвав CDatabase::OpenEx или CDatabase::Open с параметром NULL.Это открывает диалоговое окно ODBC, который отображает все доступные источники данных на компьютере пользователя.

  • Поскольку приложения баз данных обычно не сохраняют весь документ, возможно, потребуется удалить реализации сохранения и сохранить как, если не использовать сериализованный документ для хранения сведений о профиле.В противном случае можно реализовать команда, как, например, «сохранить» фиксации транзакции. См. раздел Техническая примечание 22 дополнительные сведения о переопределить эти команды.

См. также

Основные понятия

Сериализация: Serialization vs. database input/output