Sobre alternar e inserir menus suspensos

Os espaços de trabalho podem ser utilizados para controlar quais menus suspensos são exibidos na barra de menus. No entanto, também é possível trocar um menu suspenso por outro de forma programática (por exemplo, quando um usuário carrega um aplicativo que requer um menu suspenso adicional).

Alternar menus pull-down

Como o programa tem menus suspensos em cascata, há pouca necessidade de alternar menus. E mais, trocar menus pode ser menos interessante a respeito da interface do usuário. Entretanto, usando comandos $, você pode alternar menus suspensos e sub-menus. Uma alternativa para a alternância de menus envolve a referência relativa (ou global). Utilizando esse método, você pode inserir o novo menu na frente de um menu conhecido e então remover esse menu.

Para fins de troca de menu, os menus suspensos são chamados de P1 até P16. Você pode alterar o título exibido na barra de menus, substituindo essa linha do menu por um comando $Pn=. Você pode utilizar o comando especial $Pn=* de qualquer comando para forçar a abertura na tela do menu atualmente atribuído ao alias POPn a fim de obter maior flexibilidade de movimento do dispositivo apontador.

O exemplo de macro a seguir substitui um menu suspenso na posição P3 pelo menu denominado new3 no grupo de personalização denominado MYMENU.

$P3=mymenu.new3

No AutoCAD, a mesma coisa pode ser feita com a função menucmd do AutoLISP, como descrito a seguir:

(menucmd "P3=mymenu.new3")
Nota: O AutoLISP não está disponível no AutoCAD LT.

Você pode utilizar um comando especial $Pnn=* de qualquer macro para forçar a exibição do menu atualmente atribuído à área POPn.

Nota: A alternância de menus suspensos não está em conformidade com as diretrizes de interface do usuário da Microsoft ® e não tem a garantia de estar disponível em versões futuras do programa.

Inserir e remover menus suspensos

A alternância de menu é feita ao ativar um menu diretamente de outro menu. A alternância de menus é suportada para os seguintes elementos de interface.

A sintaxe para a troca de menus parciais é a seguinte:

$section=customizationgroup.menuname
section

Os nomes de section válidos são B1-4, A1-4, P0-16, T1-4

customizationgroup

Nome do grupo de personalizações no arquivo de personalização (CUIx) desejado

menuname

Principal legenda ou alias

Você deve estar ciente do seguinte:

É possível utilizar a função menucmd do AutoLISP (não está disponível no AutoCAD LT) para inserir ou remover um menu suspenso. A sintaxe é semelhante àquela usada para alternar menus suspensos exceto pelo fato de o lado esquerdo da atribuição ser o menu suspenso antes do qual você deseja que o novo menu seja inserido. O lado direito da atribuição é um sinal de mais (+) seguido pelo nome do grupo de personalização, um ponto e o alias de menu, conforme mostrado na sintaxe a seguir:

(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")

Você também pode inserir um menu com a sintaxe Pn=. A macro a seguir insere um menu após o menu P5:

$P5=+Gmymenu.new3

A mesma macro pode ser implementada com o AutoLISP utilizando o seguinte:

(menucmd "P5=+Gmymenu.new3")

Se você utilizar esse método para inserir um menu, talvez ele não seja inserido na localização P6 conforme esperado. Há duas razões para que esse não seja o caso.

Esta é a sintaxe para remover um menu:

Gcustomizationgroup.menuname=-

A remoção de um menu com o AutoLISP utilizaria a seguinte sintaxe:

(menucmd "Gcustomizationgroup.menuname=-")

O seguinte exemplo remove o menu NEW3 que é um membro do grupo MyMenu.

$Gmymenu.new3=-"

O exemplo anterior seria semelhante ao seguinte no AutoLISP:

(menucmd "Gmymenu.new3=-")

Como esperado, o formato anterior é preferido em relação ao formato Pn=, pois ele remove somente o menu especificado. O exemplo a seguir mostra como remover o menu na localização P4 (qualquer que seja ele).

$P4=-

O exemplo anterior seria semelhante ao seguinte no AutoLISP:

(menucmd "P4=-")
Nota: Utilize a sintaxe Pn como parte da sintaxe somente para a função menucmd do AutoLISP. Utilize a sintaxe $Pn para instruções específicas de macros.

Controlar barras de ferramentas através de arquivos de personalização (CUIx) parciais

As barras de ferramentas normalmente são exibidas usando os espaços de trabalho. No entanto, é possível exibir uma barra de ferramentas usando o comando -BARRAFERR. Utilize a seguinte sintaxe no Inserir o nome da barra de ferramentas ou [TODOS]: prompt.

customizationgroup.toolbaralias

Esta sintaxe acessa a barra de ferramentas identificada por customizationgroup.toolbaralias.

Se o grupo de personalização for omitido, o programa usará como padrão o arquivo principal de personalização (CUIx).