分享方式:


MFC 中的 MAPI 支援

MFC 提供 類別中Microsoft 訊息中心應用程式介面 (MAPI) CDocument 子集的支援。 具體來說,具有成員函式, CDocument 可判斷使用者電腦上的郵件支援是否存在,如果是的話,請啟用標準命令識別碼為ID_FILE_SEND_MAIL的 Send Mail 命令。 此命令的 MFC 處理常式函式可讓使用者透過電子郵件傳送檔。

提示

雖然 MFC 不會封裝整個 MAPI 函式集,但您仍然可以直接呼叫 MAPI 函式,就像直接從 MFC 程式呼叫 WIN32 API 函式一樣。

在您的應用程式中提供 Send Mail 命令非常簡單。 MFC 提供實作來封裝檔(也就是 CDocument 衍生物件)作為附件,並以郵件的形式傳送。 此附件相當於將檔內容儲存至郵件訊息的 [檔案儲存] 命令。 此實作會呼叫使用者電腦上的郵件用戶端,讓使用者有機會處理郵件,並將主旨和郵件內文新增至郵件訊息。 使用者會看到他們熟悉的郵件應用程式使用者介面。 此功能由兩 CDocument 個成員函式提供: OnFileSendMailOnUpdateFileSendMail

MAPI 必須讀取檔案以傳送附件。 如果應用程式在函式呼叫期間 OnFileSendMail 保持其資料檔案開啟,則必須使用共用模式開啟檔案,讓多個進程存取檔案。

注意

類別的 OnFileSendMail COleDocument 覆寫版本可正確處理複合檔案。

使用 MFC 實作 Send Mail 命令

  1. 使用 Visual C++ 功能表編輯器新增命令識別碼為ID_FILE_SEND_MAIL的功能表項目。

    此命令識別碼是由 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