如果您建立 MFC 資料庫應用程式且不使用串行化,您應該如何解譯 [檔案] 功能表上的 [開啟]、[關閉]、[儲存] 和 [另存新檔] 命令。雖然沒有此問題的樣式指導方針,以下是一些建議:
完全排除 [檔案] 功能表的 [開啟] 命令。
將 Open 命令解譯為「開啟資料庫」,並向使用者顯示應用程式可辨識的數據源清單。
將 Open 命令解譯為「開啟設定檔」。保留 Open 以開啟串行化檔案,但使用 檔案來儲存包含「使用者配置檔」資訊的串行化檔,例如使用者的喜好設定,包括其登入標識碼(選擇性排除密碼),以及最近使用的資料源。
MFC 應用程式精靈支援建立沒有檔案相關檔案功能表命令的應用程式。 在 [資料庫支援] 頁面上,選取 沒有檔案支援的資料庫檢視 選項。
若要以特殊方式解譯 [檔案] 功能表命令,您必須覆寫一或多個命令處理程式,大部分是在衍生類別中 CWinApp。 例如,如果您將 OnFileOpen(實作 ID_FILE_OPEN 命令)的功能完全重寫為「開啟資料庫」,
請勿呼叫
OnFileOpen的基類版本,因為您完全取代了架構的預設命令實作。請改用 處理程式來顯示列出數據源的對話框。 您可以藉由呼叫
CDatabase::OpenEx或CDatabase::Open參數 NULL 來顯示這類對話框。 這會開啟 ODBC 對話方塊,以顯示使用者電腦上的所有可用資料來源。因為資料庫應用程式通常不會儲存整份文件,因此,除非您使用序列化文件來儲存設定檔資訊,否則您可能會想要移除儲存和另存新檔功能。 否則,您可以實作 Save 命令,例如「認可交易」。如需覆寫這些命令的詳細資訊,請參閱 Technical Note 22 。