Intercambio e inserción de menús desplegables (Concepto)

AutoCAD

 
Intercambio e inserción de menús desplegables
Concepto Referencia rápida
 
 
 

Mediante el editor Personalizar interfaz de usuario, puede utilizar espacios de trabajo para controlar el intercambio de menús desplegables. Sin embargo, también puede intercambiar un menú desplegable mediante programación (por ejemplo, cuando un usuario carga una aplicación que necesita un menú adicional). El intercambio de menús activa un menú directamente desde otro menú.

Intercambio de menús desplegables

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 consistencia de la interfaz de usuario. Sin embargo, utilizando 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, las áreas activas de 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 área 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ú en la posición P3 por el menú denominado OtroMenú en el grupo de personalización MIMENU.

$P3=MiMenu.OtroMenú

Esta misma operación se puede realizar con la función menucmd de AutoLISP del siguiente modo:

(menucmd "P3=MiMenú.OtroMenú")

Se puede usar el comando especial $Pn=* desde cualquier macro para hacer que se muestre el menú asignado actualmente al área POPn.

NotaEl intercambio de menús desplegables no se ajusta a las directrices de interfaz de usuario de Microsoft® y no se garantiza que esté disponible en futuras versiones del programa.

Inserción y eliminación de menús desplegables

El intercambio de menús activa un menú directamente desde otro menú. El intercambio de menús se puede realizar para los elementos de interfaz siguientes:

  • Buttons
  • Menús desplegables
  • Botones de ratón
  • Menús de símbolos
  • Menús de tablero

La sintaxis para el intercambio de menús parciales es la siguiente:

$sección=grupo_menús.nombre_menú

seccion

B1-4, A1-4, P0-16, T1-4

grupo_menús

Nombre de grupo de personalización en el archivo CUI deseado

nombre_menú

Identificador o alias principal

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 menús, de un punto y del alias del menú, como se muestra en la siguiente sintaxis:

(menucmd "Ggrupo_menús1.nombre_menú1=+grupo_menús2.nombre_menú2")

También puede insertar un menú con la sintaxis Pn=. La siguiente macro inserta un menú detrás del menú P5. (También puede usar la función menucmd con este formato.)

(menucmd "P5=+mimenú.nuevo3")

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.

  • Si la barra de menús actual sólo tiene tres menús, al insertar un menú después del P5, la posición del nuevo menú es P4.
  • Si el usuario inserta o elimina un archivo de personalización con el comando CARGARIUP o cuando otra aplicación inserta o elimina archivos de personalización, la numeración de menús puede quedar desincronizada.

La sintaxis para eliminar un menú es la siguiente:

(menucmd "Ggrupo_menús.nombre_menú=-")

El siguiente ejemplo elimina el menú NUEVO3 que es miembro del grupo MiMenú.

(menucmd "Gmimenú.nuevo3=-")

Como es de esperar, el formato anterior es preferible al formato Pn= porque elimina únicamente el menú especificado. El siguiente ejemplo elimina el menú de la ubicación P4 (sea el que sea).

$P4=-
NotaUtilice la sintaxis Pn como parte de la sintaxis únicamente con las secuencias menucmd. Utilice la sintaxis $Pn con secuencias específicas de macros.

Control de barras de herramientas en archivos CUI parciales

To control toolbars across partial CUI files, use the following syntax at the Enter toolbar name or [All}: solicitud del comando -BARRAHERR.

        grupo_menús.nombre-subsección
      

Esta sintaxis proporciona acceso a la barra de herramientas identificada por grupo_menús.nombre_menú y permite utilizar todo el espectro de opciones del comando -BARRAHERR en esa barra de herramientas.

Si el grupo de menús se excluye de cualquiera de estos comandos y funciones, el programa toma por defecto el archivo CUI principal.

Debe tener en cuenta lo siguiente:

  • Los menús de símbolos no se pueden intercambiar con archivos de personalización externos.
  • Es posible intercambiar únicamente elementos de personalización del mismo tipo; es decir, un menú contextual por otro, una barra de herramientas por otra, etc. Si se pretende intercambiar entre tipos diferentes se puede producir un funcionamiento impredecible.