Je voudrais savoir comment faire pour rendre une CDialog aussi prioritaire qu'une MessageBox.
=> Une messageBox lorsqu'elle apparaît fait disparaitre les menus contextuels, je voudrais qu'un CDialog fasse la même chose.
Merci d'avance.
Version imprimable
Je voudrais savoir comment faire pour rendre une CDialog aussi prioritaire qu'une MessageBox.
=> Une messageBox lorsqu'elle apparaît fait disparaitre les menus contextuels, je voudrais qu'un CDialog fasse la même chose.
Merci d'avance.
?? Avec CDialog :: DoModal() 8O
bah non....
1 -> Clic gauche/droit dans une CView fait un apparaitre un menu
contextuel.
2 -> un timer arrive à expiration et fait ouvrir une CDialog avec DoModal ( ).
le menu reste affiché en plein milieu et parfois même au dessus de la
boite de dialogue.
8O
Essaye d'utiliser keybd_event pour envoyer un VK_ESCAPE pour fermer le menu.
voir faq il y a plusieurs exemples d'utilisations:
http://cpp.developpez.com/faq/vc/ind...t#CEditCtrlEnd
Salut,
J'y ai déjà pensé mais c'est pas toujours "temps réel" et ça fonctionne qu'une fois sur 2.
Il n'y a pas moyen de récupérer un ptr sur le menu juste ouvert ?
Quand on fait ::PostQuitMessage() , tout disparait, ça doit donc bien être enregistré quelque part ?
Essayer avec :: PumpMessage ou bien redéfinir PreTranslateMessage et appeler PeekMessage avec PM_REMOVE qui enlève les messages de la boucle de messages systèmes
Essaye un ReleaseCapture()
ou sinon jette un oeil sur la fonction GetMenuBarInfo()
tu pourras alors recuperer le handle de la fenetre créée pour le menu popup.
apres un DestroyWindow(), ou WM_CANCELMODE ou un WM_EXITMENULOOP ... à essayer ...
@+
Merci