Aller au contenu

Menu contextuel...


Messages recommandés

Posté(e)

Bonjour à tous et tous mes voeux :D

 

Est-il possible de trouver le même menu contextuel sur un clic droit sur le dessin(commandes récentes) que l'on trouve quand on clique droit sur la ligne de commande

 

j'espère que je me suis bien fait comprendre...... :exclam:

 

Merci d'avance.....

 

 

Posté(e)

Bonjour

 

Voici la solution Lisp pour un menu contextuel que j'ai déjà relaté ailleurs.

C' est une question de syntaxe dans le code.

 

Il faut utiliser entre crochets et séparer par des slash les option que l'on désire voir affichées dans le menu contextuel.

Mais rien ne vaut un bon exemple, voici par exemple la meilleure syntaxe à utiliser.

 

(defun c:mnutextuel ( / cle_cod)
 (initget "Bonjour Aurevoir _Hello Goodbye")
 (setq cle_cod (getkword "\nChoix de l'option [bonjour/Aurevoir]? : "))
 (if (null cle_cod) (setq cle_cod "Hello"))
 (cond
   ((eq cle_cod "Hello")
     (print cle_cod)
     (prin1 " : Bonjour tout le monde")
   )
   ((eq cle_cod "Goodbye")
     (print cle_cod)
     (prin1 " : Au revoir tout le monde")
   )
   (T
     (print cle_cod)
     (prin1 " : Erreur")
   )
 )
 (prin1)
)

 

Notez la présence du language international dans initget de "_Hello" et "Goodbye"

(seul la 1ere option internationale possède le underscore, voulant dire que les options suivantes le sont aussi)

Cette syntaxe permet d'adapter la routine facilement pour une version non-française.

NB: cle_cod retourne dans ce cas toujours les mots-clé en Anglais ("Hello" et "Goodbye" sans underscore)

 

Ceci est valable aussi pour les fonction d'entrée (getxxx ...) du moment qu'une clé est définie dans (initget), enfin je pense?!

 

[bonjour/Aurevoir] entraine l'affichage des options dans le menu contextuel

SI la variable SHORTCUTMENU est définie pour assumer les menus contextuels

 

Voilà si ces infos peuvent te rendrent service. ;)

 

Bruno

 

Rajout des BBcodes

 

[Edité le 19/11/2010 par bonuscad]

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Je ne sais pas ce que bonuscad à voulu expliquer à par la fonction en lisp getkword mais voici un exemple pris dans l'aide d'autocad Guide de personnalisation (version 2000) ---> chapitre 4, Menus personnalisés --> Menus boutons et auxiliaires --> Commutation de menus boutons et auxiliaires

 

@+

 

Par exemple, si vous souhaitez modifier l'action standard du clic droit pour qu'AutoCAD affiche un menu contextuel différent, utilisez la syntaxe de menu suivante.

 

***AUX2

// Maj + bouton

$P0=SNAP $p0=*

 

***AUX4

// Ctrl + Maj + bouton – Bascule sur menu personnalisé A2

$A2=CUSTOM_A2 $A4=CUSTOM_A4 ^P(princ ">> Menu personnalisé A2 <<")(princ) ^P

 

***AUX12

**CUSTOM_A2

// Maj + bouton – Affiche le menu MONPOP

$P0=MONPOP $p0=*

 

***AUX14

**CUSTOM_A2

// Ctrl + Maj + bouton – Revient au menu A2 par défaut

 

$A2=AUX2 $A4=AUX4 ^P(princ ">> Menu par défaut A2 <<")(princ) ^P

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é