Udostępnij za pośrednictwem


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 lub CDatabase::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