Prise en charge MAPI dans MFC
Prise en charge de fournit MFC à partir d'un sous-ensemble de l'interface de programmation d'applications de messagerie Microsoft (MAPI) dans la classe CDocument.Spécifiquement, CDocument a des fonctions membres qui déterminent si la prise en charge de messagerie est présente sur l'ordinateur de l'utilisateur et, le cas échéant, active une commande de messagerie d'envoyer dont l'ID de commande standard est ID_FILE_SEND_MAIL.La fonction gestionnaire MFC pour cette commande permet à l'utilisateur d'envoyer un document par messagerie électronique.
![]() |
---|
Bien que MFC n'applique pas le jeu entier de fonction MAPI, vous pouvez toujours appeler des fonctions MAPI directement, de même que vous pouvez appeler les fonctions API Win32 directement MFC programme. |
La fourniture de la commande de messagerie d'envoyer dans votre application est très facile.MFC fournit l'implémentation pour empaqueter un document (autrement dit, CDocumentobjet dérivé) en tant que pièce jointe et l'envoyer sous forme de messagerie.Cette pièce jointe est équivalente à une commande de sauvegarde de fichier qui enregistre (sérialise) le contenu du document au message électronique.Cette implémentation invite le client de messagerie sur l'ordinateur de l'utilisateur pour permettre à l'utilisateur la possibilité de traiter des messages et d'ajouter l'objet et le texte du message au message électronique.Les utilisateurs voient l'interface utilisateur de leur application familière de messagerie.Cette fonctionnalité est fournie par deux fonctions membres de CDocument : OnFileSendMail et OnUpdateFileSendMail.
MAPI doit lire le fichier pour envoyer la pièce jointe.Si l'application effectue son fichier de données ouvert lors d'un appel de fonction d' OnFileSendMail , le fichier doit être ouvert par le mode de partage qui permet à plusieurs processus pour accéder au fichier.
[!REMARQUE]
Une version de remplacement d' OnFileSendMail pour la classe COleDocument gère correctement les documents composites.
Pour implémenter une commande de messagerie d'envoyer avec MFC
Utilisez l'éditeur de menus 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 l'infrastructure dans AFXRES.H.La commande peut être ajoutée à tout menu, mais elle est généralement ajoutée au menu de Fichier .
Ajoutez manuellement les éléments suivants à la table des messages de votre document :
ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail) ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)
[!REMARQUE]
Cette table des messages fonctionne pour un document dérivé de CDocument ou de COleDocument — elle prend la classe de base correcte dans les deux cas, même si la table des messages contient votre classe dérivée de document.
Générez votre application.
Si la prise en charge de messagerie est disponible, MFC permet à votre élément de menu à OnUpdateFileSendMail et traite ensuite la commande avec OnFileSendMail.Si la prise en charge de messagerie est pas disponible, MFC supprime automatiquement votre élément de menu afin que l'utilisateur ne le verra pas.
![]() |
---|
Plutôt que manuellement ajoutant des entrées de la table des messages comme décrit précédemment, vous pouvez utiliser la fenêtre Propriétés de la classe pour mapper les messages aux fonctions.Pour plus d'informations, consultez Mappage de messages en fonctions. |
Pour plus d'informations, consultez la vue d'ensemble de MAPI .
Pour plus d'informations sur les fonctions membres de CDocument qui activent MAPI, consultez :