Récupérer le menu d'une form, à partir d'un contrôle ou d'une autre form

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 27 juin 2005 à 04:53
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 28 juin 2005 à 21:24
Bonjour,
voici la question (?) :
je voudrais qu'un UserControl récupère le menu de la forme le contenant. c'est-à-dire qu'il sache qu'elle n'en a pas, ou qu'il puisse récupérer ce menu (existant donc), le masquer de la form (parente) pour se l'auto-intégrer, pour enfin l'afficher.

pour mieux comprendre, le résultat pourrait ressembler au menu normal, mais placé au niveau du UserControl (intérieur), donc n'importe où (sachant que le problème n'est pas de savoir, pour le moment, s'il sera correctement affiché).

toute suggestion sera la bienvenue.
j'ai eu beau retourner VbFrance, sans succès
Merci

PCPT

6 réponses

cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
27 juin 2005 à 05:05
salut,
utlise les apis Getmenu getsubmenu getmenuitemid etc.
N.B:Getmenu a besoin du handle de la fentre, ds le cas d'un usercontrol qui va etre dessiner sur un Formntu poura le recuperer a l'aide de Parent.hwnd,mais a ne pas mettre ça ds l'evenement inintilize mais plutot preferable ds rezize.


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 juin 2005 à 13:57
ok merci, je vais essayer de voir à ce niveau, accompagné de ta source 31379, mais çà reste encore assez abstrait, surtout en sachant que je n'ai jamais fait de UserControl.
je me penche la dessus et je donne suite ici. sinon, si conseils plus détaillés, je suis preneur

merci
PCPT
0
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
27 juin 2005 à 14:03
de rien ;)


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 juin 2005 à 16:11
re,
bon, si j'ai bien compris ta source, tu récupères le Hwnd du menu de la fenêtre, que tu recréés dynamiquement dans une autre fenêtre, que tu superposes lors de son appel.
(du moins c'est ce que j'ai cru comprendre, même si çà ne doit pas être tout à fait çà, puisque ta fenêtre appelante ne perd pas le focus.)


le problème c'est qu'un menu "maison" on va dire (c'est-à-dire le menu vb par défaut, créé par le développeur, sur sa form) n'a pas de Hwnd.
et je ne peux pas me servir de l'API pour le générer à partir du HDC, puis qu'il n'en a pas non plus...


tiens, en passant, je n'ai pas le même affichage que toi pour ton menu :
http://site.voila.fr/vrac-perso/menu.jpg
je ne sais pas d'où viennent ces barres noires (sous XP Pro Sp1)



donc 1er problème = je n'arrive pas à intercepter un menu "non-windows"


2ème = mon contrôle contient (pour le moment) une picture de la taille de la form appelante. En copiant simplement ton code (et ses dépendances) dans mon projet, ma picture n'apparaît plus (lors de l'instruction Paint)


j'ai jeté un oeil sur quelques unes de tes sources, les UserControls et les menus ont l'air d'avoir pas mal attirés ton attention. si tu pouvais un peu + m'expliquer çà, j'accepterais avec grand plaisir


[que cela n'empêche pas les autres lecteurs de passer de spectateurs à acteurs ;)]


en l'attente


PCPT
0

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

Posez votre question
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
27 juin 2005 à 16:50
non pour l'affichage c pas grave il faut juste ne pas prendre le dernier caractere du nom du menu.
mon code ne prends pas le menu et le mets sur une autre form,il le modifie sur place c'est tout,pour ton cas t'as besoin de l'api TrackPopupMenu pour creer un poup menu ds une autre form.ciao...;)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 juin 2005 à 21:24
bon, pour info, j'ai trouvé un soft qui arriver à récupérer le menu pour le skinner (donc au moins, c'est réalisable).
le plus dur reste à faire ;-)

j'attend vos commentaires
PCPT
0
Rejoignez-nous