Problème de PopupMenu

muche62 Messages postés 7 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 mars 2005 - 17 mars 2005 à 12:35
muche62 Messages postés 7 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 mars 2005 - 21 mars 2005 à 10:45
Bonjour à tous, j'ai un problème avec un popupmenu.
J'ai deux fenêtre frmApp et frm2.
Lorque dans frmApp j'appel directement frm2, j'ai acces au popupmenu de la fenêtre ouverte avec show vbModal
Lorque dans frmApp j'appel, via un popupmenu frm2 avec le même code, là je n'accède plus au poppupmenu de frm2

si frm2 s'ouvre en vbModeless j'ai pas de problème
comment faire pour garder frm2 en modal et avoir toujours le popupmenu actif?

merci d'avance

4 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
17 mars 2005 à 13:11
Si j'ai bien compris ton PB, je crois que tu es dans une impasse.
JE récapitule ce que j'ai compris .
1- frmApp est ouverte
2- Affichage du menu contextuel sur frmApp
3- Affcihage en modale de frm2 via ce menu
4- Le menu n'est plus dispo sur frmApp
5- Mais si tu affiches frm2 en non modale, tu as toujours le menu de dispo dans frmApp !

Ben si c'est ca ton souci, c'est logique !!! Si frm2 est modal, tu ne peux plus rien faire d'autre dans ton appli tant que frm2 est ouverte(=définition de la modalité d'une fenêtre), donc Windows considère le menu contextuel de frmApp inutile, puisque rendu inaccessible par la modalité de frm2 !!!

Christophe R
0
muche62 Messages postés 7 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 mars 2005
17 mars 2005 à 15:22
En fait c'est pas tellement ça le problème.
Je me suis sans doute mal exprimé.
C'est le menu popup de frm2 qui n'est plus actif lorsque l'appel frm2 par le menu popup de frmApp.

-1- Si je lance frm2 en non modal le popup de frm2 est actif dans tous les cas (appel par le popupmenu de frmApp ou directement par le biais d'un bouton par exemple)

-2- Si je lance frm2 en modal le popup de frm2 n'est plus actif si l'appel de frm2 est fait par le biais du popup de frmApp

-3- Si je lance frm2 en modal le popup de frm2 est actif si l'appel de frm2 est fait par le biais d'un bouton classique.

Or je veux pouvoir acceder au popupmenu de frm2 avec un appel à frm2 en Modal.

Amicalement

Dev Null
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mars 2005 à 19:49
Salut, il me semble que ce sujet a déjà été débattu il n'y a pas si longtemps sur le forum.

Une petite explication, on ne peut exécuter +sieurs popupmenu en même temps. Voir l'aide de vb.
Quand tu ouvres un autre form en modal par un menu appelé par popupmenu, le code contenu dans l'item du menu est stoppé tant que le 2ème form n'est pas fermé. Donc, le menu (et popupmenu) n'est pas refermé.
Je ne sais pas si je me fais bien comprendre. Toujours est-il qu'il y a une astuce, pas très propre mais qui fonctionne si tu tiens absolument à ouvrir ton 2ème form en modal : un timer.
Dans le form1, tu poses un timer avec interval 1 (un peu plus s'il le faut mais pas plus de 10) et enabled false

' tu affiches ton menu du form1
PopupMenu Me.menu

'dans l'item qui ouvre form2 tu mets
Timer1.Enabled = True

'et dans le timer
Private Sub Timer1_Timer()
Form2.Show vbModal
Timer1.Enabled = False
End Sub

Ainsi, le menu a le temps de se refermer et c'est le timer qui ouvres le form2. Et tu peux utiliser popupmenu dans ton form2.

Loup Gris
0
muche62 Messages postés 7 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 mars 2005
21 mars 2005 à 10:45
Ok ça marche bien comme ça, mais ne peut-on pas simplement fermer la fenêtre popupmenu de form1 avant le lancer form2 ?
J'ai fait un ou deux tests mais ça ne marche pas comme ça visiblement!

Je fait donc avec l'astuc du timer!

Merci encore
Dev Null
0
Rejoignez-nous