Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
MFC zapewnia obsługę podzestawu interfejsu MAPI (Microsoft Messaging Application Program Interface) w klasie CDocument
. W szczególności, CDocument
ma funkcje członkowskie, które określają, czy obsługa poczty jest dostępna na komputerze użytkownika końcowego, a jeśli tak, włączają polecenie Wyślij pocztę, którego standardowy identyfikator polecenia to ID_FILE_SEND_MAIL. Funkcja obsługi MFC dla tego polecenia umożliwia użytkownikowi wysyłanie dokumentu pocztą elektroniczną.
Wskazówka
Mimo że MFC nie hermetyzuje całego zestawu funkcji MAPI, nadal można wywoływać funkcje MAPI bezpośrednio, tak jak można wywoływać funkcje interfejsu API Win32 bezpośrednio z programów MFC.
Dodanie polecenia "Wyślij pocztę" w aplikacji jest bardzo proste. MFC udostępnia implementację, aby spakować dokument (czyli CDocument
obiekt pochodny) jako załącznik i wysłać go jako wiadomość e-mail. Ten załącznik jest odpowiednikiem polecenia Zapisz plik, które zapisuje (serializuje) zawartość dokumentu w wiadomości e-mail. Ta implementacja wywołuje klienta poczty na komputerze użytkownika, aby dać użytkownikowi możliwość adresowania poczty i dodania tematu i wiadomości sms do wiadomości e-mail. Użytkownicy widzą swój znajomy interfejs użytkownika aplikacji poczty. Ta funkcja jest dostarczana przez dwie CDocument
funkcje składowe: OnFileSendMail
i OnUpdateFileSendMail
.
Interfejs MAPI musi odczytać plik, aby wysłać załącznik. Jeśli aplikacja przechowuje plik danych otwarty podczas OnFileSendMail
wywołania funkcji, plik musi zostać otwarty w trybie udostępniania, który umożliwia wielu procesom dostęp do pliku.
Uwaga / Notatka
Przeciążona wersja OnFileSendMail
klasy COleDocument
poprawnie obsługuje złożone dokumenty.
Aby zaimplementować polecenie Wyślij pocztę za pomocą MFC
Użyj edytora menu Visual C++, aby dodać element menu, którego identyfikator polecenia jest ID_FILE_SEND_MAIL.
Ten identyfikator polecenia jest dostarczany przez framework w AFXRES.H. Polecenie można dodać do dowolnego menu, ale zwykle jest dodawane do menu Plik .
Ręcznie dodaj następujące elementy do mapy komunikatów dokumentu:
ON_COMMAND(ID_FILE_SENDMAIL, &CMyDoc::OnFileSendMail) ON_UPDATE_COMMAND_UI(ID_FILE_SENDMAIL, &CMyDoc::OnUpdateFileSendMail)
Uwaga / Notatka
Ta mapa komunikatów działa dla dokumentu pochodzącego z
CDocument
lubCOleDocument
— pobiera poprawną klasę podstawową w obu przypadkach, mimo że mapa komunikatów znajduje się w klasie dokumentu pochodnego.Skompiluj aplikację.
Jeśli obsługa poczty jest dostępna, MFC włącza element menu za pomocą OnUpdateFileSendMail
, a następnie przetwarza polecenie za pomocą OnFileSendMail
polecenia. Jeśli obsługa poczty nie jest dostępna, MFC automatycznie usuwa element menu, aby użytkownik go nie widział.
Wskazówka
Zamiast ręcznie dodawać wpisy mapy komunikatów zgodnie z wcześniejszym opisem, możesz użyć Kreatora klas do mapowania komunikatów na funkcje. Aby uzyskać więcej informacji, zobacz Mapowanie komunikatów na funkcje.
Aby uzyskać powiązane informacje, zobacz omówienie MAPI.
Aby uzyskać więcej informacji na temat funkcji składowych CDocument
, które włączają interfejs MAPI, zobacz: