Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
MFC fournit la prise en charge d’un sous-ensemble de l’interface MAPI (Microsoft Messaging Application Program Interface) dans la classe CDocument. 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 par courrier électronique.
Conseil / Astuce
Bien que MFC n’encapsule pas l’ensemble de fonctions MAPI, vous pouvez toujours appeler directement des fonctions MAPI, tout comme vous pouvez appeler des fonctions API Win32 directement à partir de programmes MFC.
La fourniture de la commande Envoyer un courrier dans votre application est très facile. 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 équivaut à une commande File Save qui enregistre (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 à l’utilisateur d’adresser le courrier et d’ajouter du texte de l’objet et du message au message électronique. Les utilisateurs voient l’interface utilisateur de leur application de messagerie familière. Cette fonctionnalité est fournie par deux CDocument fonctions membres : OnFileSendMail et OnUpdateFileSendMail.
MAPI doit lire le fichier pour envoyer la pièce jointe. Si l’application conserve son fichier de données ouvert pendant un appel de OnFileSendMail fonction, le fichier doit être ouvert avec un mode de partage qui permet à plusieurs processus d’accéder au fichier.
Remarque
Une version substituée de OnFileSendMail la classe COleDocument gère correctement les documents composés.
Pour implémenter une commande Envoyer un courrier avec MFC
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 l’infrastructure dans AFXRES.H. La commande peut être ajoutée à n’importe quel menu, mais elle est généralement ajoutée au menu Fichier .
Ajoutez manuellement les éléments suivants à la carte 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
CDocumentou l’autre :COleDocumentil 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.Générez votre application.
Si la prise en charge du courrier est disponible, MFC active votre élément de menu avec OnUpdateFileSendMail et traite par la suite la commande avec OnFileSendMail. Si la prise en charge du courrier n’est pas disponible, MFC supprime automatiquement votre élément de menu afin que l’utilisateur ne le voit pas.
Conseil / Astuce
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 :