MENU POPUP UTILISANT LES API (AVEC IMAGES !)

cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007 - 15 sept. 2002 à 10:21
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 - 28 févr. 2007 à 20:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/4540-menu-popup-utilisant-les-api-avec-images

ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
28 févr. 2007 à 20:31
salut,
concernant autocad (qui est un autre sujet), j'avais posté ça:
http://www.vbfrance.com/codes/LIAISON-VB6-AUTOCAD-GRACE-ACAD-TLB_24683.aspx

pour communiquer avec autocad depuis vb6.

si tu veux des exemples vba autocad, j'essayerai de faire qque chose du même style.
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
28 févr. 2007 à 20:30
salut,
concernant autocad (qui est un autre sujet), j'avais posté ça:
http://www.vbfrance.com/codes/LIAISON-VB6-AUTOCAD-GRACE-ACAD-TLB_24683.aspx

pour communiquer avec autocad depuis vb6.

si tu veux des exemples vba autocad, j'essayerai de faire qque chose du même style.
cs_titicar Messages postés 181 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 19 août 2012
27 févr. 2007 à 21:29
LD40 : J'avoue qu'à l'époque, quand j'ai voulu tester le VBA sous AutoCad, j'ai trouvé ce VBA plutôt limité; je n'ai même pas réussi à programmer le tracé d'une ligne. Peut-être n'ai-je pas assez cherché.
En tout cas, si ce VBA doit contenir toutes les fonctions d'AutoCad, alors AutoDesk a du pain sur la planche! A cette époque, je me disais qu'il vallait mieux programmer en LISP... que je ne connais pas :-(
Cela dit, si tu as des exemples à partager, je suis preneur, histoire de voir comment ça fonctionne.

Pour ce qui est de ta question, j'avoue que j'ai très vite abondonné la source de Tronic car trop contraignante, y compris (et suivant mes souvenirs) l'ordre des items d'un menu et... les fameux séparateurs dont tu parles.

@+ j'espère et bon prog !
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
27 févr. 2007 à 14:56
salut,

je reconnais que cet exemple est nickel pour tous les programmeurs vba.
je viens de l'adapter pour mon formulaire vba dans autocad, c'est super!

Petite question:
je n'arrive pas à dessiner un séparateur dans les sous menus ... si tu connais l'astuce ...
cs_Tronics Messages postés 2 Date d'inscription mardi 10 septembre 2002 Statut Membre Dernière intervention 29 septembre 2005
29 sept. 2005 à 19:46
Re c'est moi (qui est poster ce code il y a 3ans ...)

Pour repondre a PierrotVB qui me dit que j'ai piquer le code:
je repondrais qu'effectivement j'avais trouvé la déclaration des API dessus, d'ou eventuellement les noms identiquement, seulement l'utilisation etait tres lourde et complexe, donc j'ai refait entièrement tout le code (d'ou le francais qui n'est pas une traduction mais ma propre version). Cela dit je ne sais plus ou j'ai eut la declaration des API la premiere fois, c'est pour ca que je n'est pas citer la source dont je ne me souvenait plus. (J'ai aussi horreur des gens qui s'approprie, je ne le ferai pas ! La j'ai tout refait, a par les API rien n'est d'origine)

Pour repondre a liquide:
ba mon code tu en fait ce que tu veux, si tu veux faire un ActiveX je t'en pris ;) par contre je le ferai pas, je ne me sert plus de mon code, et j'ai plus trop le temps, désolé :(

Pour repondre a TheLordFreddy:
Pour le bug je connais pas, j'ai jamais tester sous XP :( comme dit plus haut je ne m'en sert plus de mon code, je programme en C# maintenant. Et pour ton idée d'amelioration, je doit admettre que ca serait pas mal en effet, mais comme j'ai deja dit, j'ai franchement plus le temps maintenant :(

Bon ba je repasse dans 2ans voir si il y a encore des gens qui utilise ce code lol ;)
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
10 janv. 2005 à 15:02
Aussi un autre truc, c'est HYPER LOURD le system de rachement des sous-menu, tu devrai revoir ça!
un sous-menu porterai un numéro et un élément de menu parent le ratacherai grace a son numéro comme ça on pourrai créer les élément du menu dans n'importe quel l'ordre (enfin pas tout à fait évidemment)!
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
10 janv. 2005 à 11:15
D'ailleur dans la capture ce bug n'apparait pas!
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
10 janv. 2005 à 11:13
Eh non, ce ne marche pas entierement sous XP!

Je mexplique, dans le menu donner en exemple, le sous menu testSubA1 ne contient qu'un élément alors que sous Windows 98, il en contient 3!
En fait les deux autre élément, on ne peut pas les sélectionner (ce qui est normal), mais cette methode de fonctionne pas sous XP, si tu trouve comment le corriger ça m'interresse!
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
1 févr. 2004 à 02:51
est il possible de reprendre le code pour en faire un activex du style comdialog, qui serait appelé sur un composant et en renverrait le popmenu?

de facon a pouvoir l'utiliser sur une multitude de composants sans avoir a effectuer toutes les commande a chaque fois mais cette activex s'en chargerait
samirog Messages postés 73 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 8 mars 2005
6 janv. 2004 à 18:41
S U P E R ! ! ! , ça vaut au moins un 20/10 => 10/10
gabchampagne Messages postés 216 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 5 mai 2004
29 déc. 2003 à 02:20
C vraiment Bien 10/10
daetips Messages postés 142 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 10 novembre 2007
4 nov. 2003 à 20:11
pour pierrot vb
on est la pour les sources pas pour savoir si c'est a lui ou pas

et en + il na jamais di que cétait la sienne
cs_titicar Messages postés 181 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 19 août 2012
2 nov. 2003 à 19:12
Cool. Ca marche aussi chez moi (Win XP). Merci pour les commentaires, ça va servir car à première vue j'ai pas tout compris.
J'ai pas encore essayé de l'utiliser dans mes prog, et je ne sais pas si je vais me prendre la tête ou pas. Vue l'utilité, j'ai mis 9/10. C'est vrai que les menus dans l'environnement VB, ça laisse à désirer.
Bon prog!
Y a un truc qui je dois tester en premier : le nombre de menus et sous menus fixés à 200 dans ta constante... Ben oui, hélas j'ai un prog qui les dépasse.
cs_merline Messages postés 22 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 25 juillet 2003
7 juil. 2003 à 11:50
vraiment génial !
10/10
sese817 Messages postés 38 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 28 avril 2004
27 mai 2003 à 20:52
Franchement nickel 10/10 !
Premier menu contextuel que j'ai vus qui marche !
Scooby1 Messages postés 48 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 26 novembre 2003
13 févr. 2003 à 13:23
Top !!!
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
2 févr. 2003 à 00:19
marche sur XP....
Bon taff !
PierrotVB Messages postés 58 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 20 août 2004
7 nov. 2002 à 13:30
Elle est bin belle ton hisoire, mais bon t'as juste oublie de dire que le code tu l'as recupere chez www.vbaccelerator.com
C'est flagrant avec les noms des variables et constantes, je comprends pas les gars qui piquent du code source et se le reapproprient ailleurs, enfin bon, seul truc positif c'est en francais (pour ceux qui causent pas anglais)

Excuse de faire baisser ta moyenne et bonne continuation dans la traduction
erreurs404 Messages postés 117 Date d'inscription lundi 23 octobre 2000 Statut Membre Dernière intervention 12 août 2009
20 oct. 2002 à 23:27
Tout simplement super =)
merci ... 20/10
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
16 sept. 2002 à 19:34
Putain, mais arreter de mettre des sources comme ca sur le site. Non, mé i en a marre... ba ouais, moi g déjà la gaulle jusqu'au coup, rien que de lire le titre !

Tu merite au moins... au moins sqr(200)/2+1 sur bah, 10 comme d'ab !
cs_Tronics Messages postés 2 Date d'inscription mardi 10 septembre 2002 Statut Membre Dernière intervention 29 septembre 2005
15 sept. 2002 à 18:11
depuis 2 mois que j'essaye de supprimer ce module, g enfin trouvé: il sufisait de declarer deux fois l'API InsertMenuItem sous deux nom different utilisant des types different:

Private Declare Function InsertMenuItem Lib "user32.dll" Alias "InsertMenuItemA" _
(ByVal hMenu As Long, _
ByVal uItem As Long, _
ByVal fByPosition As Long, _
lpmii As MENUITEMINFO) As Long

Private Declare Function InsertMenuItem2 Lib "user32.dll" Alias "InsertMenuItemA" _
(ByVal hMenu As Long, _
ByVal uItem As Long, _
ByVal fByPosition As Long, _
lpmii As MENUITEMINFO2) As Long

Il n'y a donc maintenant que la classe, enfin un code propre
G donc remit a jour le ZIP avec cette nouvelle version 100% compatible avec l'ancienne. J'y est aussi ajouter un nouveau parametre pour tracer des lignes sur les menus (g pas trouver l'utilité, mais comme l'API le faisait....)
Voir la capture (remise a jour egalement) pour toutes les fonctions disponibles
cs_mehdibou Messages postés 365 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 18 octobre 2004
15 sept. 2002 à 15:12
Très bon code (9) !!!
Moi, c'est ce que j'utilise (en moins perféctionné) pour VB3 :-)
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
15 sept. 2002 à 10:37
merci :))))
cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007
15 sept. 2002 à 10:21
Cool (10) !!!!
Ca marche sur XP.