Aller au contenu

Fichiers menu de personnalisation partiels


Messages recommandés

Posté(e)

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

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é