Aller au contenu

Fichiers menu de personnalisation partiels


l56

Messages recommandés

salut,

 

Avec ça tu peu les écrire dans un fichier xml et les éditer avec excel

aide-a-la-migration-avec-powerclic]

sinon en vrac: quelques lisp :

certains sont standelone, d'autre pas :

 

;****************************************************************************
;§/menu/programme de test pour visualiser l'arborescence des menus contextual/none
(defun c:test_menu_context ( / ok i j acadObject AcadMenuGroup NbMenuGroup currMenuGroup currMenuGroupMenus scMenu AlreadyExist)
(vl-Load-Com)
(setq acadObject (vlax-get-acad-object))
(setq AcadMenuGroup (vla-get-MenuGroups acadObject))
(prompt "\nNombre de menugroup")
(print (setq NbMenuGroup (vlax-get-property AcadMenuGroup 'Count)))

(setq j 0)

(while (and (< j NbMenuGroup) (not ok))
(setq currMenuGroup (vlax-invoke-method AcadMenuGroup 'Item j ))
(print (vlax-get-property currMenuGroup 'name))
(setq currMenuGroupMenus (vla-get-Menus currMenuGroup))
(prompt "\nNombre de scMenu : ")
(print (setq nb (vlax-get-property currMenuGroupMenus 'Count)))
;;parcours les menus pour trouver celui qui est contextuel
(setq i 0)
(while (and (< i nb) (not ok))
(setq scMenu (vlax-invoke-method currMenuGroupMenus 'Item i ))
(print (vlax-get-property scMenu 'name))
(if (= ':VLAX-TRUE (vlax-get-property scMenu 'ShortcutMenu))
 (progn
  (prompt "\Un contextuel trouvé:")
  (vlax-dump-object scMenu)
 )
;(setq ok T )
)
(setq i (+ 1 i))
)
(setq j (+ 1 j))
)

)

;****************************************************************************
;§/menu/programme de test pour visualiser l'arborescence des menus telle qu'elle est parcourue/none
(defun c:test_menu_tree	(/		ok	       i
		 j		acadObject     AcadMenuGroup
		 NbMenuGroup	currMenuGroup
		 currMenuGroupMenus	       scMenu
		 
		)
 (vl-Load-Com)
 (setq acadObject (vlax-get-acad-object))
 (setq MenuGroups (vla-get-MenuGroups acadObject))
 (prompt "\nNombre de menugroup ")
 (print
   (setq NbMenuGroup (vlax-get-property MenuGroups 'Count))
 )

 (setq j 0)

 (while (< j NbMenuGroup)
   (setq MenuGroupe (vlax-invoke-method MenuGroups 'Item j))
   (print (vlax-get-property MenuGroupe 'name))
   (setq MenuCollection (vla-get-Menus MenuGroupe))
   (prompt "\n   Nombre de sous Menu : ")
   (princ
     (setq nbScmenu (vlax-get-property MenuCollection 'Count))
   )
   ;;parcours les scmenus 
   (setq i 0)
   (while (< i nbScmenu)
     (setq scMenu (vlax-invoke-method MenuCollection 'Item i))
     (setq tmp scmenu)
     (if (vlax-property-available-p scMenu 'name)
(prompt
  (strcat "\n       " (vlax-get-property scMenu 'name))
)
     )
     (if (vlax-property-available-p scMenu 'label)
(prompt
  (strcat "\n       " (vlax-get-property scMenu 'label))
)
     )

     (prompt "\n                 Nombre de Menuitems ")
     (princ (setq NbMenuitems (vla-get-count scMenu)))
     ;;parcours les menuitems 
     (setq k 0)
     (while (< k NbMenuitems)
(setq MenuItem (vlax-invoke-method scMenu 'Item k))
(if (vlax-property-available-p MenuItem 'name)
  (prompt
    (strcat "\n                 " (vlax-get-property MenuItem 'name))
  )
)
(if (vlax-property-available-p MenuItem 'label)
  (prompt (strcat "\n                 "
		  (vlax-get-property MenuItem 'label)
	  )
  )
)

(setq k (+ 1 k))
     )

     (setq i (+ 1 i))
   )
   (setq j (+ 1 j))
 )

)





;****************************************************************************
;§/menu/Afficher le nom du menu et le fichier de base/none
(defun c:Affiche_menus (/	       ok	      i
		j	       acadObject     AcadMenuGroup
		NbMenuGroup    currMenuGroup  currMenuGroupMenus
		scMenu	       AlreadyExist
	       )
 (vl-Load-Com)
 (setq acadObject (vlax-get-acad-object))
 (setq AcadMenuGroup (vla-get-MenuGroups acadObject))
 (prompt "\nNombre de menugroup")
 (print
   (setq NbMenuGroup (vlax-get-property AcadMenuGroup 'Count))
 )

 (setq j 0)

 (while (and (< j NbMenuGroup) (not ok))
   (setq currMenuGroup (vlax-invoke-method AcadMenuGroup 'Item j))
   (print (vlax-get-property currMenuGroup 'name))
   (print (vlax-get-property currMenuGroup 'MenuFileName))
   (setq j (+ 1 j))
 )
)

; ****************************************************************************
;;§/menu/ecrit la liste des menus utilisés dans un fichier csv (obsolète)/none
(defun c:ecritlistemenu	(/ lmenu fich nchem )
 (setq lmenu (pw_listeMenu ))
 (setq	fich (getfiled "Fichier csv de menus à écrire : "
	       aclsp-chem
	       "csv"
	       1
     )
 )
 (pw_ecricsv "lmenu" fich)
 (opencsvwithoooscalc fich)
)

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité