Suporte a MAPI no MFC
MFC fornece suporte para um subconjunto da Microsoft programa Interface MAPI (Messaging Application) na classe CDocument.Especificamente, CDocument tem funções de membro determinam se o suporte de correio está presente na máquina do usuário final e, em caso afirmativo, ativar um comando Enviar email cuja ID de comando padrão é ID_FILE_SEND_MAIL.A função de manipulador MFC para este comando permite ao usuário enviar um documento por email.
Dica |
---|
Embora o MFC não encapsular todo o conjunto de função MAPI, você ainda poderá chamar funções MAPI diretamente, exatamente como você pode chamar funções de API do Win32 diretamente de programas do MFC. |
Fornecendo correio enviar comando em seu aplicativo é muito fácil.MFC fornece a implementação de um documento de pacote (isto é, um CDocument-derivado objeto) como um anexo e enviá-la como email.Este anexo é equivalente a um comando Salvar arquivo que salva (serializa) o conteúdo do documento para a mensagem de email.Essa implementação chama o cliente de email na máquina do usuário para fornecer ao usuário a oportunidade de endereço de email e adicionar texto assunto e a mensagem do email.Os usuários vêem interface do usuário do seu aplicativo de email familiar.Essa funcionalidade é fornecida por dois CDocument funções de membro: OnFileSendMail e OnUpdateFileSendMail.
MAPI precisa ler o arquivo para enviar o anexo.Se o aplicativo mantém o arquivo de dados aberto durante um OnFileSendMail chamada de função, o arquivo precisa ser aberto com um modo de compartilhamento permite que vários processos acessar o arquivo.
Observação |
---|
Uma versão de substituição do OnFileSendMail para a classe COleDocument corretamente alças de documentos compõem. |
Para implementar um comando Enviar email com MFC
Use o editor de menu do Visual C++ para adicionar um item de menu cuja ID de comando é ID_FILE_SEND_MAIL.
A ID de comando é fornecida pela estrutura no AFXRES.H.O comando pode ser adicionado a qualquer menu, mas é geralmente adicionado para o arquivo menu.
Adicione manualmente o seguinte ao mapa da mensagem do documento:
ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail) ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)
Observação Este mapa da mensagem funciona para um documento derivadas de um CDocument ou COleDocument — ela pega a classe base correta em ambos os casos, embora o mapa da mensagem esteja em sua classe derivada do documento.
Crie seu aplicativo.
Se houver suporte para email, MFC permite que o item de menu com OnUpdateFileSendMail e subseqüentemente processa o comando com OnFileSendMail.Se o suporte de correio não estiver disponível, MFC automaticamente remove o item de menu para que o usuário não vê-lo.
Dica |
---|
Em vez de adicionar manualmente as entradas de mapa da mensagem conforme descritas anteriormente, você pode usar a janela de propriedades de classe para mapear mensagens para funções.Para obter mais informações, consulte Mapeamento mensagens para funções. |
Para obter informações relacionadas, consulte o MAPI visão geral.
Para obter mais informações sobre o CDocument funções de membro que permitem MAPI, consulte: