Los espacios de trabajo se pueden utilizar para controlar qué menús desplegables se muestran en la barra de menús. Sin embargo, también puede intercambiar un menú desplegable por otro mediante programación (por ejemplo, cuando un usuario carga una aplicación que necesita un menú desplegable adicional).
Puesto que el programa tiene menús desplegables en cascada, rara vez surge la necesidad de intercambiar menús. Además, el intercambio de menús puede reducir la coherencia de la interfaz de usuario. Sin embargo, mediante los comandos $, puede intercambiar menús y submenús desplegables. Una alternativa al intercambio de menús implica referencias relativas (o globales). Con este método, se puede insertar un menú nuevo delante de un menú ya conocido y, a continuación, eliminar el menú conocido.
Para el intercambio de menús, los menús desplegables reciben los nombres de P1 a P16. Puede cambiar el título que aparece en la barra de menús reemplazando la línea del menú por un comando $Pn=. Puede emplear el comando especial $Pn=* desde cualquier comando para hacer que el menú actualmente asignado al alias POPn se despliegue en pantalla, teniendo así una mayor flexibilidad de movimiento del dispositivo señalador.
En el ejemplo de macro siguiente, se reemplaza un menú desplegable en la posición P3 por el menú denominado new3 en el grupo de personalización denominado MIMENU.
$P3=mymenu.new3
Esta misma operación se puede realizar con la función menucmd de AutoLISP del siguiente modo:
(menucmd "P3=mymenu.new3")
Se puede usar el comando especial $Pn =* desde cualquier macro para hacer que se muestre el menú asignado actualmente al área POPn.
El intercambio de menús se efectúa activando un menú directamente desde otro menú. El intercambio de menús se puede realizar para los elementos de interfaz siguientes:
La sintaxis para el intercambio de menús parciales es la siguiente:
$section=customizationgroup.menuname
Los nombres válidos de sección son B1-4, A1-4, P0-16, T1-4
Nombre de grupo de personalización en el archivo de personalización (CUIx) deseado
Identificador o alias principal
Debe tener en cuenta lo siguiente:
Puede utilizar la función menucmd de AutoLISP para insertar o eliminar un menú desplegable. La sintaxis es similar a la empleada para intercambiar menús desplegables, a excepción de que la parte izquierda de la asignación es el menú desplegable delante del cual se insertará el nuevo menú. La parte derecha de la asignación es un signo más (+) seguido del nombre del grupo de personalización, de un punto y del alias del menú, como se muestra en la siguiente sintaxis:
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
También puede insertar un menú con la sintaxis Pn=. La siguiente macro inserta un menú detrás del menú P5:
$P5=+Gmymenu.new3
La misma macro puede utilizarse con AutoLISP mediante las siguientes acciones:
(menucmd "P5=+Gmymenu.new3")
Si emplea este método para insertar un menú, recuerde que no debe confiar en que se va a insertar en la posición del menú P6, como sería esperable. Existen dos motivos por los que puede que esto no ocurra.
La sintaxis para eliminar un menú es la siguiente:
Gcustomizationgroup.menuname=-
La eliminación de un menú con AutoLISP requiere la siguiente sintaxis:
(menucmd "Gcustomizationgroup.menuname=-")
La siguiente muestra cómo eliminar el menú NUEVO3 que es parte del grupo MiMenú.
$Gmymenu.new3=-"
El ejemplo anterior tendría un aspecto similar al siguiente en AutoLISP:
(menucmd "Gmymenu.new3=-")
Como es de esperar, el formato anterior es preferible al formato Pn= porque elimina únicamente el menú especificado. La siguiente sintaxis muestra cómo eliminar el menú de la ubicación P4 (sea cual sea).
$P4=-
El ejemplo anterior tendría un aspecto similar al siguiente en AutoLISP:
(menucmd "P4=-")
Las barras de herramientas habitualmente se muestran mediante espacios de trabajo. Sin embargo, puede mostrar una barra de herramientas mediante el comando -BARRAHERR. Utilice la sintaxis siguiente en la solicitud Indique nombre de barra de herramientas o [TODAS]: .
customizationgroup.toolbaralias
Esta sintaxis proporciona acceso a la barra de herramientas identificada por customizationgroup.toolbaralias.
Si el grupo de personalización se excluye, el programa es establece por defecto en el archivo de personalización principal (CUIx).