Partager via


NPP, exemple : illustre MAPI (Messaging API) pour Windows

Mise à jour : novembre 2007

L'exemple NPP est celui d'une application interface mono document (SDI, Single-Document Interface) similaire au Bloc-notes, qui vous permet d'éditer des messages de texte et de les envoyer vers d'autres utilisateurs ou systèmes via MAPI (Messaging API) pour Windows.

Note de sécurité :

Cet exemple de code est fourni pour illustrer un concept et ne doit pas être utilisé dans des applications ou des sites Web, car il peut ne pas illustrer les pratiques de programmation les plus sûres. Microsoft n'assume aucune responsabilité pour tout dommage indirect ou consécutif en cas d'utilisation de l'exemple de code à des fins autres que celles prévues.

Pour obtenir des exemples et des instructions d'installation :

  • Dans le menu ? (Aide) de Visual Studio, cliquez sur Exemples.

    Pour plus d'informations, consultez Recherche des fichiers d'exemple.

  • La liste la plus récente et la plus complète d'exemples est disponible en ligne à partir de la page Visual Studio 2008 Samples.

  • Des exemples sont également disponibles sur le disque dur de votre ordinateur. Des exemples et un fichier Readme sont stockés par défaut dans un dossier sous \Program Files\Visual Studio 9.0\Samples\. Pour les éditions Express de Visual Studio, tous les exemples sont disponibles en ligne.

Génération et exécution de l'exemple

Pour générer et exécuter l'exemple NPP

  1. Ouvrez la solution NPP.sln.

  2. Dans le menu Générer, cliquez sur Générer.

  3. Dans le menu Déboguer, cliquez sur Exécuter sans débogage.

Dans le menu File, la commande Send permet d'attacher le contenu de la fenêtre d'édition à un message MAPI. Après avoir cliqué sur Send, vous êtes invité à fournir un nom d'utilisateur et un mot de passe pour démarrer votre session MAPI, si vous n'êtes pas déjà connecté.

Les deux lignes de code importantes qui activent cette fonctionnalité (outre l'ajout de l'option du menu dans le fichier de ressources) sont des entrées de table des messages pour l'instance de CNotepadDoc, qui est gérée par l'application. Les entrées sont les suivantes :

ON_COMMAND(ID_FILE_SEND_MAIL, OnFileSendMail)
ON_UPDATE_COMMAND_UI(ID_FILE_SEND_MAIL, OnUpdateFileSendMail)

CDocument::OnFileSendMail et CDocument::OnUpdateFileSendMail sont intégrés à MFC ; aucun élément supplémentaire n'est nécessaire pour pouvoir accéder à ce niveau de prise en charge MAPI dans vos applications.

Mots clés

Cet exemple illustre l'utilisation des mots clés suivants :

AfxGetMainWnd ; AfxMessageBox ; CComboBox::Copy ; CComboBox::Create ; CComboBox::GetDroppedState ; CComboBox::Paste ; CComboBox::SetEditSel ; CComboBox::ShowDropDown ; CDC::GetTextExtent ; CDC::GetTextMetrics ; CDC::SelectObject ; CDialog::DoModal ; CDialog::OnCancel ; CDialog::OnInitDialog ; CDocument::OnNewDocument ; CEdit::GetLineCount ; CEdit::LineFromChar ; CEdit::LineIndex ; CEdit::LineScroll ; CEdit::SetSel ; CEditView::GetEditCtrl ; CEditView::GetSelectedText ; CEditView::OnFindNext ; CFrameWnd::Create ; CFrameWnd::DockControlBar ; CFrameWnd::EnableDocking ; CFrameWnd::GetActiveView ; CFrameWnd::RecalcLayout ; CObject::AssertValid ; CObject::Dump ; CObject::Serialize ; CRect::Height ; CStatusBar::CommandToIndex ; CStatusBar::SetPaneText ; CString::Format ; CString::GetLength ; CString::LoadString ; CToolBar::GetItemRect ; CToolBar::SetButtonInfo ; CView::GetDocument ; CView::OnBeginPrinting ; CView::OnDraw ; CView::OnEndPrinting ; CView::OnPreparePrinting ; CWinApp::AddDocTemplate ; CWinApp::InitInstance ; CWinApp::LoadStdProfileSettings ; CWinApp::OnFileNew ; CWinApp::OnIdle ; CWinApp::OpenDocumentFile ; CWnd::Create ; CWnd::DoDataExchange ; CWnd::FromHandle ; CWnd::GetDescendantWindow ; CWnd::GetDlgItem ; CWnd::GetFocus ; CWnd::GetStyle ; CWnd::GetWindowRect ; CWnd::GetWindowText ; CWnd::GetWindowTextLength ; CWnd::KillTimer ; CWnd::OnClose ; CWnd::OnCreate ; CWnd::PostMessage ; CWnd::PreTranslateMessage ; CWnd::ScreenToClient ; CWnd::SendMessage ; CWnd::SetFocus ; CWnd::SetFont ; CWnd::SetTimer ; CWnd::SetWindowPos ; CWnd::SetWindowText ; CWnd::ShowWindow ; CreateFontIndirect ; DragAcceptFiles ; EndDialog ; EnumFontFamilies ; GetDlgItem ; GetKeyState ; GetLocalTime ; GetStockObject ; LoadBitmap ; MessageBeep ; SendMessage ; SetWindowText ; memcpy

Remarque :

Certains exemples, tels que celui-ci, n'ont pas été modifiés pour refléter les changements apportés aux Assistants, aux bibliothèques et au compilateur Visual C++, mais ils illustrent bien l'exécution de la tâche souhaitée.

Voir aussi

Autres ressources

Exemples MFC