si tu veux des exemples vba autocad, j'essayerai de faire qque chose du même style.
cs_titicar
Messages postés181Date d'inscriptionjeudi 30 mai 2002StatutMembreDernière intervention19 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és336Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention22 février 20191 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és2Date d'inscriptionmardi 10 septembre 2002StatutMembreDernière intervention29 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és157Date d'inscriptionmardi 9 décembre 2003StatutMembreDernière intervention 3 février 20052 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és157Date d'inscriptionmardi 9 décembre 2003StatutMembreDernière intervention 3 février 20052 10 janv. 2005 à 11:15
D'ailleur dans la capture ce bug n'apparait pas!
TheLordFreddy
Messages postés157Date d'inscriptionmardi 9 décembre 2003StatutMembreDernière intervention 3 février 20052 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és1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 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és73Date d'inscriptiondimanche 8 juin 2003StatutMembreDerniè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és216Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 5 mai 2004 29 déc. 2003 à 02:20
C vraiment Bien 10/10
daetips
Messages postés142Date d'inscriptionjeudi 10 juillet 2003StatutMembreDernière intervention10 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és181Date d'inscriptionjeudi 30 mai 2002StatutMembreDernière intervention19 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és22Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention25 juillet 2003 7 juil. 2003 à 11:50
vraiment génial !
10/10
sese817
Messages postés38Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention28 avril 2004 27 mai 2003 à 20:52
Franchement nickel 10/10 !
Premier menu contextuel que j'ai vus qui marche !
Scooby1
Messages postés48Date d'inscriptiondimanche 12 mai 2002StatutMembreDernière intervention26 novembre 2003 13 févr. 2003 à 13:23
Top !!!
cs_Urgo
Messages postés780Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention16 avril 20091 2 févr. 2003 à 00:19
marche sur XP....
Bon taff !
PierrotVB
Messages postés58Date d'inscriptionvendredi 12 juillet 2002StatutMembreDernière intervention20 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és117Date d'inscriptionlundi 23 octobre 2000StatutMembreDernière intervention12 août 2009 20 oct. 2002 à 23:27
Tout simplement super =)
merci ... 20/10
Alan71
Messages postés530Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention13 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és2Date d'inscriptionmardi 10 septembre 2002StatutMembreDernière intervention29 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és365Date d'inscriptionvendredi 24 mai 2002StatutMembreDernière intervention18 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és1470Date d'inscriptionmardi 5 février 2002StatutMembreDernière intervention20 octobre 201412 15 sept. 2002 à 10:37
merci :))))
cs_Clem
Messages postés282Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention12 février 2007 15 sept. 2002 à 10:21
28 févr. 2007 à 20:31
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.
28 févr. 2007 à 20:30
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.
27 févr. 2007 à 21:29
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 !
27 févr. 2007 à 14:56
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 ...
29 sept. 2005 à 19:46
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 ;)
10 janv. 2005 à 15:02
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)!
10 janv. 2005 à 11:15
10 janv. 2005 à 11:13
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!
1 févr. 2004 à 02:51
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
6 janv. 2004 à 18:41
29 déc. 2003 à 02:20
4 nov. 2003 à 20:11
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
2 nov. 2003 à 19:12
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.
7 juil. 2003 à 11:50
10/10
27 mai 2003 à 20:52
Premier menu contextuel que j'ai vus qui marche !
13 févr. 2003 à 13:23
2 févr. 2003 à 00:19
Bon taff !
7 nov. 2002 à 13:30
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
20 oct. 2002 à 23:27
merci ... 20/10
16 sept. 2002 à 19:34
Tu merite au moins... au moins sqr(200)/2+1 sur bah, 10 comme d'ab !
15 sept. 2002 à 18:11
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
15 sept. 2002 à 15:12
Moi, c'est ce que j'utilise (en moins perféctionné) pour VB3 :-)
15 sept. 2002 à 10:37
15 sept. 2002 à 10:21
Ca marche sur XP.