MFC 데이터베이스 애플리케이션을 만들고 serialization을 사용하지 않는 경우, 파일 메뉴의 열기, 닫기, 저장 및 다른 이름으로 저장하기 명령을 어떻게 해석해야 할까요? 이 질문에 대한 스타일 지침은 없지만, 다음과 같은 몇 가지 제안이 있습니다.
파일 메뉴의 열기 명령을 완전히 제거합니다.
Open 명령을 "데이터베이스 열기"로 해석하고 애플리케이션에서 인식하는 데이터 원본 목록을 사용자에게 표시합니다.
Open 명령을 "open profile"으로 해석합니다. 직렬화된 파일을 열기 위해 Open을 유지하지만 해당 파일을 사용하여 로그인 ID(선택적으로 암호 제외) 및 가장 최근에 작업한 데이터 원본을 포함하여 사용자의 기본 설정과 같은 "사용자 프로필" 정보가 포함된 직렬화된 문서를 저장합니다.
MFC 애플리케이션 마법사는 문서 관련 파일 메뉴 명령 없이 애플리케이션을 만들 수 있습니다. 데이터베이스 지원 페이지에서 파일 지원 없이데이터베이스 보기를 선택합니다.
파일 메뉴 명령을 특별한 방식으로 해석하려면, 하나 이상의 명령 처리기를 재정의해야 합니다. 주로 CWinApp에서 파생된 클래스에서 이를 수행합니다. 예를 들어 OnFileOpen 명령을 구현한 ID_FILE_OPEN를 완전히 재정의하여 "데이터베이스 열기:"로 의미를 변경하는 경우
프레임워크의
OnFileOpen기본 명령 구현을 완전히 대체하므로 기본 클래스 버전을 호출하지 마세요.대신 처리기를 사용하여 데이터 원본을 나열하는 대화 상자를 표시합니다.
CDatabase::OpenEx매개 변수를 호출하거나CDatabase::Open사용하여 이러한 대화 상자를 표시할 수 있습니다. 그러면 사용자의 컴퓨터에서 사용 가능한 모든 데이터 원본을 표시하는 ODBC 대화 상자가 열립니다.데이터베이스 애플리케이션은 일반적으로 전체 문서를 저장하지 않기 때문에, 프로필 정보를 직렬화된 문서로 저장하지 않는다면 저장 및 다른 이름으로 저장 기능을 제거하는 것이 좋습니다. 그렇지 않으면 "커밋 트랜잭션"으로 저장 명령을 구현할 수 있습니다. 이러한 명령을 재정의하는 방법에 대한 자세한 내용은 Technical Note 22 를 참조하세요.