MFC의 MAPI 지원

MFC는 클래스CDocument에서 MICROSOFT 메시지 MAPI(애플리케이션 프로그램 인터페이스)의 하위 집합에 대한 지원을 제공합니다. 특히 CDocument 최종 사용자의 컴퓨터에 메일 지원이 있는지 여부를 결정하는 멤버 함수가 있으며, 이 경우 표준 명령 ID가 ID_FILE_SEND_MAIL 메일 보내기 명령을 사용하도록 설정합니다. 이 명령에 대한 MFC 처리기 함수를 사용하면 사용자가 전자 메일을 통해 문서를 보낼 수 있습니다.

MFC는 전체 MAPI 함수 집합을 캡슐화하지는 않지만 MFC 프로그램에서 직접 Win32 API 함수를 호출할 수 있는 것처럼 MAPI 함수를 직접 호출할 수 있습니다.

애플리케이션에서 메일 보내기 명령을 제공하는 것은 매우 쉽습니다. MFC는 문서(즉, CDocument파생 개체)를 첨부 파일로 패키지하고 메일로 보내는 구현을 제공합니다. 이 첨부 파일은 문서의 내용을 메일 메시지에 저장(직렬화)하는 파일 저장 명령과 동일합니다. 이 구현은 사용자의 컴퓨터에서 메일 클라이언트를 호출하여 사용자에게 메일 주소를 지정하고 메일 메시지에 제목 및 메시지 텍스트를 추가할 수 있는 기회를 제공합니다. 사용자에게 친숙한 메일 애플리케이션의 사용자 인터페이스가 표시됩니다. 이 기능은 두 멤버 CDocument 함수인 OnFileSendMailOnUpdateFileSendMail.에서 제공합니다.

MAPI는 첨부 파일을 보내려면 파일을 읽어야 합니다. 애플리케이션이 함수 호출 중에 OnFileSendMail 데이터 파일을 열어 두면 여러 프로세스가 파일에 액세스할 수 있는 공유 모드로 파일을 열어야 합니다.

참고 항목

클래스 COleDocument 의 재정의 OnFileSendMail 버전은 복합 문서를 올바르게 처리합니다.

MFC를 사용하여 메일 보내기 명령을 구현하려면

  1. Visual C++ 메뉴 편집기를 사용하여 명령 ID가 ID_FILE_SEND_MAIL 메뉴 항목을 추가합니다.

    이 명령 ID는 AFXRES.H의 프레임워크에서 제공합니다. 이 명령은 모든 메뉴에 추가할 수 있지만 일반적으로 파일 메뉴에 추가됩니다.

  2. 문서의 메시지 맵에 다음을 수동으로 추가합니다.

    ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail)
    ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)
    

    참고 항목

    이 메시지 맵은 메시지 맵이 파생된 CDocumentCOleDocument 문서 클래스에 있더라도 두 경우 모두 올바른 기본 클래스에서 파생된 문서에 대해 작동합니다.

  3. 애플리케이션을 빌드합니다.

메일 지원을 사용할 수 있는 경우 MFC는 메뉴 항목을 OnUpdateFileSendMail 사용하도록 설정하고 그 후에 명령을 로 OnFileSendMail처리합니다. 메일 지원을 사용할 수 없는 경우 MFC는 메뉴 항목을 자동으로 제거하므로 사용자에게 표시되지 않습니다.

앞에서 설명한 대로 메시지 맵 항목을 수동으로 추가하는 대신 클래스 클래스 마법사 를 사용하여 메시지를 함수에 매핑할 수 있습니다. 자세한 내용은 함수에 메시지 매핑을 참조 하세요.

관련 정보는 MAPI 개요를 참조하세요.

MAPI를 CDocument 사용하도록 설정하는 멤버 함수에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

MAPI