MAPI在MFC支持

MFC 提供对 Microsoft 消息处理应用程序结口的子集在 (MAPI)类 CDocument的支持。 具体而言, CDocument 具有确定的成员函数消息是否支持存在最终用户的计算机,并且,如果是这样,启用标准命令 ID 是 ID_FILE_SEND_MAIL的发送消息命令。 此命令的 MFC 处理程序函数允许用户通过电子邮件将文档。

提示

虽然 MFC 不封装整组 MAPI 功能,您可以直接在中调用 MAPI 函数,就可以调用 Win32 API 函数直接从 MFC 程序。

在应用程序中提供发送消息命令是非常简单。 MFC 提供该实现到包文档 (即 CDocument派生的对象) 作为附件并将其用作消息。 此附件与保存的文件保存命令是等效的 (序列化) 文档内容到邮件。 此实现要求用户计算机上的邮件客户端提供用户有机会修复该消息和添加主题和文本到邮件。 用户看到的常见的消息应用程序的用户界面。 两个 CDocument 成员函数提供此功能: OnFileSendMailOnUpdateFileSendMail

MAPI 需要读取文件附件发送。 如果应用程序在其数据文件中打开 OnFileSendMail 时函数调用,文件需要打开在允许多个进程访问文件的共享模式。

备注

OnFileSendMail 中的重写版本的类 COleDocument 正确处理多个文档。

若要实现发送邮件请使用 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