Menu Plik w aplikacji bazy danych MFC
Jeśli tworzysz aplikację bazy danych MFC i nie używasz serializacji, jak interpretować polecenia Otwórz, Zamknij, Zapisz i Zapisz jako w menu Plik, chociaż nie ma wytycznych dotyczących stylu dla tego pytania, oto kilka sugestii:
Całkowicie wyeliminuj polecenie Otwórz menu Plik.
Zinterpretuj polecenie Otwórz jako "otwórz bazę danych" i wyświetl użytkownikowi listę źródeł danych rozpoznawanych przez aplikację.
Zinterpretuj polecenie Otwórz jako "otwórz profil". Zachowaj opcję Otwórz, aby otworzyć serializowany plik, ale użyj go do przechowywania serializowanego dokumentu zawierającego informacje o profilu użytkownika, takie jak preferencje użytkownika, w tym jego identyfikator logowania (opcjonalnie z wyłączeniem hasła) i źródło danych, z których ostatnio pracowała.
Kreator aplikacji MFC obsługuje tworzenie aplikacji bez poleceń menu plik powiązanych z dokumentami. Wybierz opcję Widok bazy danych bez obsługi plików na stronie Obsługa bazy danych.
Aby zinterpretować polecenie menu Plik w specjalny sposób, należy zastąpić co najmniej jeden program obsługi poleceń, głównie w klasie pochodnej CWinApp
. Jeśli na przykład całkowicie zastąpisz OnFileOpen
(co implementuje ID_FILE_OPEN
polecenie), aby oznaczać "otwartą bazę danych:"
Nie należy wywoływać wersji klasy bazowej
OnFileOpen
, ponieważ całkowicie zastępujesz domyślną implementację polecenia platformy.Zamiast tego użyj programu obsługi, aby wyświetlić okno dialogowe z listą źródeł danych. Możesz wyświetlić takie okno dialogowe, wywołując polecenie
CDatabase::OpenEx
lubCDatabase::Open
z parametrem NULL. Spowoduje to otwarcie okna dialogowego ODBC zawierającego wszystkie dostępne źródła danych na maszynie użytkownika.Ponieważ aplikacje bazy danych zwykle nie zapisują całego dokumentu, prawdopodobnie chcesz usunąć implementacje Zapisz i Zapisz jako, chyba że używasz serializowanego dokumentu do przechowywania informacji o profilu. W przeciwnym razie można zaimplementować polecenie Zapisz, na przykład "commit transaction". Aby uzyskać więcej informacji na temat zastępowania tych poleceń, zobacz Technical Note 22 (Uwaga techniczna 22 ).
Zobacz też
Serializacja: serializacja a dane wejściowe/wyjściowe bazy danych