Fermeture du Menu contextuel

Résolu
YASminelover Messages postés 4 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 20 décembre 2004 - 17 déc. 2004 à 16:46
YASminelover Messages postés 4 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 20 décembre 2004 - 20 déc. 2004 à 14:18
Bonjour j'ai un petit problème...

Si l'utilisateur ne clicke pas sur un item ou appui simplement sur "Escape" le menu contextuel disparait, mais rien n'indique a mon application qu'il a disparu...

si quelqu'un pouvais m'indiquer une manière d'être informé de la disparition d'un contexte menu...

merci d'avance

6 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 déc. 2004 à 19:06
bon, si le ContextMenu est associé à ton form, tu peux utiliser l'override de WndProc dans celui ci :
private const int WM_MENUSELECT = 0x011F;

protected override void WndProc(ref Message m)
{if ( m.Msg WM_MENUSELECT && (uint)m.WParam 0xffff0000 )
{
// ...
}

base.WndProc (ref m);
}


par contre je ne vois a priori aucun moyen de differencier une fermeture declenchée par un clic sur item d'une fermeture "normale"
dans le cas d'un clic sur item, garde à l'esprit que le code que tu vas mettre dans le if ci dessus sera executé avant le code qui tu auras mit dans la methode associée à l'event Click de l'item

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 déc. 2004 à 17:25
une solution pourrait etre d'intercepter le message WM_MENUSELECT avec un MessageFilter

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 déc. 2004 à 17:59
en fait non, pas si simple -_-

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
YASminelover Messages postés 4 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 20 décembre 2004
17 déc. 2004 à 18:11
merci pour ta réponse mais je n'y arrive pas,

l'exemple du MessageFilter avec le click gauche marche bien mais je n'arrive pas a choper celui de MENUSELECT

...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 déc. 2004 à 18:27
laisse tomber le MessageFilter

il est lié a quel type de controle ton ContextMenu ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
YASminelover Messages postés 4 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 20 décembre 2004
20 déc. 2004 à 14:18
Merci beaucoup coq c'est LA solution que j'ai cherché pendant plus d'une semaine.

c'est vrai que cela ne diférencie pas la fermeture du click item,

ce qui est un peu genant pour moi car le contexte menu est créer dans une Form principal qui gère ses events,
mais par contre il est utilisé dans un UserControl que j'ai créer et c'est donc dans ce dernier que l'override Marche...

mais bon avec un peu d'imagination ca devrai le faire.

Merci encore
0
Rejoignez-nous