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.
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 ;)
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)!
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!
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
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.
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
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 !
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
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 ;)