Condividi tramite


Supporto MAPI in MFC

MFC fornisce il supporto per un subset di Microsoft Messaggi Application Program Interface (MAPI) nella classe CDocument. In particolare, CDocument dispone di funzioni membro che determinano se il supporto della posta elettronica è presente nel computer dell'utente finale e, in tal caso, abilitare un comando Send Mail il cui ID comando standard è ID_FILE_edizione StandardND_MAIL. La funzione del gestore MFC per questo comando consente all'utente di inviare un documento tramite posta elettronica.

Suggerimento

Anche se MFC non incapsula l'intero set di funzioni MAPI, puoi comunque chiamare direttamente le funzioni MAPI, proprio come puoi chiamare le funzioni API Win32 direttamente dai programmi MFC.

Fornire il comando Send Mail nell'applicazione è molto semplice. MFC fornisce l'implementazione per creare un pacchetto di un documento (ovvero un CDocumentoggetto derivato da - ) come allegato e inviarlo come messaggio di posta elettronica. Questo allegato equivale a un comando Salva file che salva (serializza) il contenuto del documento nel messaggio di posta elettronica. Questa implementazione richiede al client di posta elettronica sul computer dell'utente di fornire all'utente la possibilità di indirizzare il messaggio di posta elettronica e di aggiungere testo dell'oggetto e del messaggio al messaggio di posta elettronica. Gli utenti visualizzano l'interfaccia utente dell'applicazione di posta elettronica familiare. Questa funzionalità è fornita da due CDocument funzioni membro: OnFileSendMail e OnUpdateFileSendMail.

MAPI deve leggere il file per inviare l'allegato. Se l'applicazione mantiene aperto il file di dati durante una OnFileSendMail chiamata di funzione, il file deve essere aperto con una modalità di condivisione che consente a più processi di accedere al file.

Nota

Una versione di override di OnFileSendMail per la classe COleDocument gestisce correttamente i documenti composti.

Per implementare un comando Send Mail con MFC

  1. Usare l'editor di menu di Visual C++ per aggiungere una voce di menu il cui ID comando è ID_FILE_edizione StandardND_MAIL.

    Questo ID comando viene fornito dal framework in AFXRES.H. Il comando può essere aggiunto a qualsiasi menu, ma in genere viene aggiunto al menu File .

  2. Aggiungere manualmente quanto segue alla mappa dei messaggi del documento:

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

    Nota

    Questa mappa messaggi funziona per un documento derivato da CDocument o COleDocument , in entrambi i casi recupera la classe di base corretta, anche se la mappa messaggi si trova nella classe documento derivata.

  3. Compilare l'applicazione.

Se è disponibile il supporto della posta elettronica, MFC abilita la voce di menu con OnUpdateFileSendMail e successivamente elabora il comando con OnFileSendMail. Se il supporto della posta elettronica non è disponibile, MFC rimuove automaticamente la voce di menu in modo che l'utente non lo visualizzi.

Suggerimento

Anziché aggiungere manualmente voci della mappa messaggi come descritto in precedenza, è possibile usare la Creazione guidata classe per eseguire il mapping dei messaggi alle funzioni. Per altre informazioni, vedere Mapping dei messaggi alle funzioni.

Per informazioni correlate, vedere la panoramica di MAPI .

Per altre informazioni sulle CDocument funzioni membro che abilitano MAPI, vedere:

Vedi anche

MAPI