次の方法で共有


MFC での MAPI サポート

クラス CDocumentの Microsoft のメッセージングのアプリケーション プログラミング インターフェイス (MAPI) のサブセットの MFC サポートを提供します。具体的には、 CDocument にメール サポートは、エンド ユーザーのコンピューターにあり、その場合、標準コマンド ID が ID_FILE_SEND_MAILであるメール送信コマンドを有効にするかどうかを判断するメンバー関数があります。このコマンドの MFC のハンドラー関数は、ユーザーが電子メールを介してドキュメントを渡すことができます。

ヒントヒント

MFC が全体の MAPI の関数のセットをカプセル化していませんが、としても、 MFC プログラムから Win32 API 関数を直接ダイヤルする MAPI の関数を、直接ダイヤルできます。

アプリケーションのメール送信コマンドを使用することがよくあります。MFC はドキュメント (つまり、 CDocument派生オブジェクト)を添付ファイルとしてパッケージ化し、メールとして送信するように実装を提供します。この添付ファイル (シリアル化)ドキュメントの内容を格納するメール メッセージにコンテナーに存在するファイルの保存と同じです。この実装は、ユーザーにメール アドレスを指定し、メール メッセージへのサブジェクト、メッセージ テキストを追加する機会を提供するためにユーザーのコンピューターのメール クライアントを要求します。ユーザーは、の使い慣れたメール アプリケーションのユーザー インターフェイスが表示されます。この機能は CDocument の 2 種類のメンバー関数によって提供されます: OnFileSendMailOnUpdateFileSendMail

MAPI は、添付ファイルを送信するファイルを読み取る必要があります。アプリケーションがデータ ファイルを OnFileSendMail の関数呼び出しに開いたまま、ファイルはファイルにアクセスする割り当ての複数のプロセスその共有モードで開く必要があります。

[!メモ]

クラス COleDocumentOnFileSendMail オーバーライドのバージョンが正しく複合ドキュメントを処理します。

MFC のメール送信コマンドを実行するには

  1. コマンド ID が ID_FILE_SEND_MAILであるメニュー項目を追加するには、 Visual C++ のメニュー エディターを使用します。

    このコマンド 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