OVH Cloud OVH Cloud

Problème de menu (CMenu / multithread)

1 réponse
Avatar
DaRkYoda
Bonjour,

je plante le decors :
j'ai une appli multithread (je sais pas si ça a un rapport avec mon
problème),
La vue principale me permet d'avoir un menu contextuel classique (CMenu
+ TrackPopupMenu)
Un des threads peut à tout moment (sur "alarmes"...) ouvrir une boite de
dialogue (DoModal)

Le problème c que des que la boîte souvre le menu se retrouve incrusté
et impossible de le supprimer jusqu'a la fermeture de la boîte de dialogue !

Impossible de comprendre comment fermer le menu contextuel ! :(((

J'ai essayé d'envoyer un WM_EXITMENULOOP :( marche po
un AfxGetThreadState() + recup m_hTrackingMenu + destroymenu :( marche
po non plus (j'ai l'impression que l'affichage est pas raffraichie ...)


Si quelqu'un peut m'aider, merci d'avance ...

A bientôt

1 réponse

Avatar
Dominique Vaufreydaz
Bonjour,

je plante le decors :
j'ai une appli multithread (je sais pas si ça a un rapport avec mon
problème),
La vue principale me permet d'avoir un menu contextuel classique (CMenu
+ TrackPopupMenu)
Un des threads peut à tout moment (sur "alarmes"...) ouvrir une boite de
dialogue (DoModal)
Le problème c que des que la boîte souvre le menu se retrouve incrusté
et impossible de le supprimer jusqu'a la fermeture de la boîte de dialogue !
Impossible de comprendre comment fermer le menu contextuel ! :(((
J'ai essayé d'envoyer un WM_EXITMENULOOP :( marche po
un AfxGetThreadState() + recup m_hTrackingMenu + destroymenu :( marche
po non plus (j'ai l'impression que l'affichage est pas raffraichie ...)



Une premiere idee a essayer est de creer la boite de dialogue dans
le second thread en non modal avec CreateIndirect.
Je pense que ca devrait resoudre ton probleme...

Sinon, on envisagera d'autre possibilites. Doms.
--
Impose ta chance, serre ton bonheur et va vers ton risque.
A te regarder, ils s'habitueront.
René Char, Les Matinaux.
----
http://www-prima.inrialpes.fr/Vaufreydaz/
http://TitchKaRa.free.fr/
http://logiciels.ntfaqfr.com/