Acceder à l'application mère pendant un message box
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006
-
22 mars 2006 à 17:23
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006
-
23 mars 2006 à 11:35
Salut,
J'utilise l'api message box pour faire afficher une boite de dialogue directement sous une application (Lotus Notes), ce que ne permet pas msgbox de VBA. Pour cela j'utilise le handle de Lotus comme ceci (je n'ai pas mis les déclarations ici) :
HandleLotus = FindWindow("NOTES", vbNullString)
resultat = MessageBox(HandleLotus, "Voulez-vous envoyer le mail?", "Validation", MB_ICONQUESTION + MB_YESNO)
If (resultat = 6) Then
SendKeys "%&", True 'envoi du courrier Alt + 1
Else
'rien
End If
Cela fonctionne à merveille mais j'aimerai que ce soit possible d'acceder à la fenêtre de lotus pendant l'affichage du message (ce dernier se mettrai desactiverai ou se réduirai) plutot que de devoir cliquer sur un des deux boutons.
Y-a-t-il une solution?
Autre question : Peut-on changer le libellé des bouton de la message box? Je pense que non vu que c'est une API et donc c'est pas modifiable.
Merci d'avance.
A voir également:
Acceder à l'application mère pendant un message box
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 22 mars 2006 à 18:49
Bonjour,
Pour le libellé, je suppose que tu parle du titre:
resultat = MessageBox(HandleLotus, "Voulez-vous envoyer le mail?", "Validation", MB_ICONQUESTION + MB_YESNO, "C'est le titre")
Ce qu'il te met entre crochet, c'est les arguments optionnels.
Pour ce qui est de la modalité, tu peux utiliser la "vrai" MessageBox, celle des API, celle qui est appelé par VB6.
En modifiant le handle, ça passe sans problème:
Private Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal dwType As Long) As Long
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 23 mars 2006 à 09:34
Salut,
justement j'utilise la vraie MessageBox. C'est vrai qu'en mettant le handle a 0 la message box est dissociée de lotus et il y a une nouvelle fenêtre dans la barre des tâches. Mais le problème c'est qu'elle est crée "réduite" alors que je voudrai la faire afficher directement devant Lotus. Je vais essayer de tester ça avec d'autres fonctions.
En ce qui concernent les libellé, je parle du titre des boutons, je voudrais modifier les oui non.
Pour radcur: Effectivement c'est un peu bizarre comme fonctionnement. Le truc c'est que pour faire simple mon automate rempli une fiche sous lotus et lorsqu'il a terminé son petit travail je souhaite faire afiicher un message lui demandant d'enregistrer ou de modifier. S'il fait modifier, il pourrait acceder à la fiche fraichement créee puis se repositionner sur le message box pour cliquer sur enregistrer.