Partager via


Prise en charge MAPI dans MFC

MFC fournit la prise en charge d’un sous-ensemble de l’interface MAPI (Application Program Interface) Messages Microsoft dans la classeCDocument. Plus précisément, CDocument dispose de fonctions membres qui déterminent si la prise en charge du courrier est présente sur l’ordinateur de l’utilisateur final et, le cas échéant, activez une commande Send Mail dont l’ID de commande standard est ID_FILE_SEND_MAIL. La fonction de gestionnaire MFC pour cette commande permet à l'utilisateur d'envoyer un document via la messagerie électronique.

Conseil

Bien que MFC n'encapsule pas l'ensemble des fonctions MAPI, vous pouvez toujours appeler les fonctions MAPI directement, de la même manière que vous pouvez appeler les fonctions API Win32 directement à partir des programmes MFC.

L'activation de la commande Envoyer un message dans votre application est très simple. MFC fournit l’implémentation pour empaqueter un document (autrement dit, un CDocumentobjet dérivé) en tant que pièce jointe et l’envoyer en tant que courrier électronique. Cette pièce jointe est équivalente à une commande d'enregistrement de fichier qui stocke (sérialise) le contenu du document dans le message électronique. Cette implémentation appelle le client de messagerie sur l’ordinateur de l’utilisateur pour permettre à ce dernier d’adresser le message et d’y ajouter un objet et un texte. Les utilisateurs voient l'interface usuelle de leur application de messagerie usuelle. Cette fonctionnalité est fournie par deux CDocument fonctions membres : OnFileSendMail et OnUpdateFileSendMail.

L'interface MAPI doit lire le fichier pour envoyer la pièce jointe. Si l'application garde son fichier de données ouvert pendant un appel de fonction OnFileSendMail, le fichier doit être ouvert avec un mode de partage qui autorise plusieurs processus à y accéder.

Remarque

Une version de substitution de OnFileSendMail pour la classe COleDocument traite correctement les documents composés.

Pour implémenter une commande Envoyer un message avec MFC

  1. Utilisez l’éditeur de menu Visual C++ pour ajouter un élément de menu dont l’ID de commande est ID_FILE_SEND_MAIL.

    Cet ID de commande est fourni par le framework dans AFXRES.H. La commande peut être ajoutée à n’importe quel menu, mais elle est généralement ajoutée au menu Fichier .

  2. Ajoutez manuellement le code suivant à la table des messages de votre document :

    ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail)
    ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)
    

    Remarque

    Ce mappage de messages fonctionne pour un document dérivé de l’un CDocument ou l’autre : COleDocument il récupère la classe de base correcte dans les deux cas, même si le mappage de messages se trouve dans votre classe de document dérivée.

  3. Générez votre application.

Si la prise en charge de la messagerie est disponible, MFC active votre élément de menu avec OnUpdateFileSendMail et traite ensuite la commande avec OnFileSendMail. Si elle n'est pas disponible, MFC supprime automatiquement votre élément de menu afin que l'utilisateur ne le voit pas.

Conseil

Au lieu d’ajouter manuellement des entrées de mappage de messages comme décrit précédemment, vous pouvez utiliser l’Assistant Classe de classe pour mapper les messages aux fonctions. Pour plus d’informations, consultez Mappage des messages aux fonctions.

Pour plus d’informations, consultez la vue d’ensemble de MAPI .

Pour plus d’informations sur les CDocument fonctions membres qui activent MAPI, consultez :

Voir aussi

MAPI