MFC 为类 CDocument中的Microsoft消息传递应用程序接口(MAPI)的子集提供支持。 具体而言, CDocument 具有成员函数,用于确定最终用户计算机上是否存在邮件支持;如果是这样,请启用标准命令 ID 为ID_FILE_SEND_MAIL的发送邮件命令。 此命令的 MFC 处理程序函数允许用户通过电子邮件发送文档。
小窍门
尽管 MFC 未封装整个 MAPI 函数集,但仍可以直接调用 MAPI 函数,就像可以直接从 MFC 程序调用 Win32 API 函数一样。
在应用程序中提供“发送邮件”命令非常简单。 MFC 提供将文档(即 CDocument-derived 对象)打包为附件并将其作为邮件发送的实现。 此附件等效于将文档内容保存到邮件中的文件保存命令(序列化)。 此实现调用用户计算机上的邮件客户端,使用户有机会处理邮件以及向邮件添加主题和邮件文本。 用户会看到他们熟悉的邮件应用程序的用户界面。 此功能由两 CDocument 个成员函数提供: OnFileSendMail 和 OnUpdateFileSendMail。
MAPI 需要读取文件以发送附件。 如果应用程序在函数调用期间 OnFileSendMail 保持数据文件打开状态,则需要使用共享模式打开该文件,该模式允许多个进程访问该文件。
注释
类COleDocument的OnFileSendMail重写版本正确处理复合文档。
使用 MFC 实现“发送邮件”命令
使用 Visual C++ 菜单编辑器添加其命令 ID 为ID_FILE_SEND_MAIL的菜单项。
此命令 ID 由 AFXRES.H 中的框架提供。 该命令可以添加到任何菜单,但通常将其添加到 “文件 ”菜单。
将以下内容手动添加到文档的邮件映射中:
ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail) ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)注释
此消息映射适用于从任
CDocument一派生的文档,或者COleDocument,无论哪种情况,它都选取正确的基类,即使消息映射位于派生的文档类中。生成应用程序。
如果邮件支持可用,MFC 将启用
有关相关信息,请参阅 MAPI 概述。
有关启用 MAPI 的成员函数的详细信息 CDocument ,请参阅: