Intégration d'un menu créé par une librairie externe qui me renvoie un HMENU, da
jchoplin
Messages postés12Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention16 mars 2006
-
13 mars 2006 à 17:05
jchoplin
Messages postés12Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention16 mars 2006
-
14 mars 2006 à 13:40
Bonjour,
Mon programme en C# fait appel à une librairie pour
créer un menu à intégrer. Cette librairie me renvoie un HMENU (donc un
IntPtr en C#) mais je n'arrive pas à intégrer ce HMENU dans mon appli.
J'ai essayé un SetMenu(this.Handle, hMenu) tiré de user32.dll. J'arrive
à voir mon menu sous une forme complètement horrible, mais au moins je
sais qu'il existe. Maintenant j'aimerai l'intégrer pleinement à mon
programme sous la forme d'un menu dans ma barre d'outil qui est un
toolstripmenu (j'utilise .Net Framework 2.0, VS 2005).
Est-ce que quelqu'un sait comment convertir ou intégrer un tel menu dans une appli en c#?
merci d'avance
A voir également:
Intégration d'un menu créé par une librairie externe qui me renvoie un HMENU, da
jchoplin
Messages postés12Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention16 mars 2006 14 mars 2006 à 11:43
non malheureusement. c'est du C brut. J'arrive à parcourir en partie le menu pour récupérer les textes du menu (et encore, pas tous pour je ne sais quelle raison mystérieuse), mais de là à reconstruire le menu à la main c'est pas gagné... Je me doute bien que les 2 genres de menu sont différents, mais est-ce qu'il y a un moyen de reconstruire un menu pour une appli .net à partir d'un menu système? est-ce qu'il y a un moyen d'intégrer ce menu système directement dans l'appli .net?
jchoplin
Messages postés12Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention16 mars 2006 14 mars 2006 à 12:21
voilà, j'arrive à recréer l'arborescence de mon menu tel qu'il doit être, mais maintenant j'aimerais assigner les commandes d'origine aux clicks sur mes menus.
Voilà ma méthode pour recréer le menu, je l'initialise avec le hmenu racine et mon toolStripMenuItem racine. Maintenant il me reste à définir les actions des clicks, mais c'est là que je coince. Il n'y a aucun champ dens MenuItemInfo qui définit la valeur du message envoyé au système. Une idée?
Merci beaucoup
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 14 mars 2006 à 12:40
en fait, il faudrait que tu abonnes tous tes ToolStripMenuItem au même évènement. Pour chacun d'entre eux tu stockes dans la propriété Tag le handle du menu correspondant.
Ensuite, dans le handler de l'évènement, il ne reste plus qu'à appeler le menu correspondant...
jchoplin
Messages postés12Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention16 mars 2006 14 mars 2006 à 13:40
C'ext exactement l'idée que je venais d'avoir ce midi. Mais j'ai une question bête: comment on simule un click sur le menu correspondant justement? Il y a une fonction pour ça? genre click(menuHandle) `?