다음을 통해 공유


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