Definir Items de Menu

Superior  Previo  Próximo

Los ítems de menú están definidos respondiendo al evento GetMenuItems. 

 

La primera vez que se llama a este evento, MenuName será un string vacío, representando el menú de más alto nivel.  Para un simple Add-in con solo una única opción de menú puede devolver un string, ej: 

 

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant 

Addin_GetMenuItems = "&Joe's Add-in" 

End Function 

 

 

Si desea definir sub-menúes, coloque una línea invertida como prefijo del menú padre. Los padres y los subítems se definen como sigue: 

 

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant 

Select Case MenuName 

Case "" 

'Ítem de Menú Padre

EA_GetMenuItems = "-&Add-in de Gustavo" 

Case "-&Add-in de Gustavo" 

'Define los Ítems del Submenú usando la notación Array.

'En este ejemplo, "Diagrama" y "Vista de Árbol" compondrán el submenú de "Add-in de Gustavo". 

EA_GetMenuItems = Array("&Diagrama", "&Vista de Árbol") 

Case Else 

MsgBox "Menú no Válido", vbCritical 

End Select 

End Function 

 

 

Similarmente, se pueden definir más subítems: 

 

Function EA_GetMenuItems(Repository as EA.Repository, MenuLocation As String, MenuName As String) As Variant 

Select Case MenuName 

Case "" 

EA_GetMenuItems = "-Add-in de Gustavo" 

Case "-Add-in de Gustavo" 

EA_GetMenuItems = Array("-&Diagrama", "&Vista de Árbol") 

Case "-&Diagrama" 

EA_GetMenuItems = "&Propiedades" 

Case Else 

MsgBox "Menú no Válido", vbCritical 

End Select 

End Function 

 

 

Si desea habilitar o deshabilitar ítems de menú por defecto, este método se puede usar para mostrar ítems particulares al usuario: 

 

Sub EA_GetMenuState(Repository As EA.Repository, Location As String, MenuName As String, ItemName As String, IsEnabled As Boolean, IsChecked As Boolean) 

Select Case Location 

Case "Vista de Árbol" 

'Siempre habilitado

Case "Diagrama" 

'Siempre habilitado

Case "MenuPrincipal" 

Select Case ItemName 

Case "&Traducir", "Guardar el &Proyecto" 

  If GetIsProjectSelected() Then 

IsEnabled = False 

  End If 

End Select 

End Select 

IsChecked = GetIsCurrentSelection() 

End Sub