IMAPIForm::DoVerb
S’applique à : Outlook 2013 | Outlook 2016
Demande que le formulaire effectue les tâches qu’il associe à un verbe spécifique.
HRESULT DoVerb(
LONG iVerb,
LPMAPIVIEWCONTEXT lpViewContext,
ULONG_PTR hwndParent,
LPCRECT lprcPosRect
);
Paramètres
iVerb
[in] Nombre associé à l’un des verbes du formulaire.
lpViewContext
[in] Pointeur vers un objet de contexte d’affichage. Le paramètre lpViewContext peut être null.
hwndParent
[in] Handle de la fenêtre parente de toutes les boîtes de dialogue ou fenêtres affichées par cette méthode. Le paramètre hwndParent doit être null si la boîte de dialogue ou la fenêtre n’est pas modale.
lprcPosRect
[in] Pointeur vers une structure RECT Win32 qui contient la taille et la position de la fenêtre du formulaire.
Valeur renvoyée
S_OK
Le verbe a été appelé avec succès.
OLEOBJ_S_CANNOT_DOVERB_NOW
Le verbe représenté par le paramètre iVerb est valide, mais le formulaire ne peut pas effectuer les opérations qui lui sont actuellement associées.
Remarques
Les observateurs de formulaires appellent la méthode IMAPIForm ::D oVerb pour demander que le formulaire effectue les tâches qu’il associe à chaque verbe pris en charge par le formulaire.
Chacun des verbes pris en charge est identifié par une valeur numérique, transmise à DoVerb dans le paramètre iVerb . Les implémentations classiques de DoVerb contiennent une instruction switch qui teste les valeurs valides pour le paramètre iVerb du formulaire.
Remarques pour les responsables de l’implémentation
Si la visionneuse de formulaires spécifie un contexte d’affichage dans le paramètre lpViewContext , utilisez-le dans votre implémentation DoVerb au lieu du contexte d’affichage passé dans un appel antérieur à la méthode IMAPIForm ::SetViewContext . Apportez les modifications nécessaires à vos structures de données internes et n’enregistrez pas le contexte d’affichage.
Effectuez les tâches suivantes dans votre implémentation DoVerb :
Exécutez le code nécessaire pour le verbe particulier associé au paramètre iVerb .
Si nécessaire, restaurez le contexte d’affichage d’origine.
Si un nombre de verbes inconnu a été transmis, retournez MAPI_E_NO_SUPPORT. Sinon, retournez un résultat basé sur la réussite ou l’échec de tout verbe exécuté.
Fermez le formulaire. Il est toujours de votre responsabilité de fermer le formulaire une fois qu’un appel DoVerb est terminé.
Certains verbes, tels que Print, doivent être modals par rapport à l’appel DoVerb . Autrement dit, l’opération indiquée doit être terminée avant le retour de l’appel DoVerb .
Pour obtenir la structure RECT utilisée par la fenêtre d’un formulaire, appelez la fonction GetWindowRect .
N’enregistrez pas le handle dans le paramètre hwndParent car, bien qu’il reste généralement valide jusqu’à la fin de DoVerb, il peut être détruit immédiatement lors du retour de l’appel.
Remarques pour les appelants
Vous pouvez faire en sorte que les verbes non modals agissent en tant que verbes modals en pointant lpViewContext vers une implémentation de contexte d’affichage qui retourne l’indicateur VCSTATUS_MODAL à partir de sa méthode IMAPIViewContext ::GetViewStatus .
Pour plus d’informations sur les verbes dans MAPI, consultez Verbes de formulaire. Pour plus d’informations sur la façon dont les verbes sont gérés dans OLE, consultez OLE et Transfert de données.
Référence MFCMAPI
Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.
Fichier | Fonction | Commentaire |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer ::CallDoVerb |
MFCMAPI utilise la méthode IMAPIForm ::D oVerb pour appeler un verbe sur un formulaire. |
Voir aussi
IMAPIViewContext::GetViewStatus