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 |