Este es el aspecto del ejemplo:
El truco está en la creación de un Variant[] que contiene un array de String[] Cada uno de ellos tiene cuatro elementos que definen el submenu:
Private elsubmenu As Menu
Public Sub Form_Open()
Dim opciones As New Variant[]
llenalista()
'formato de opciones: nombre del menu (y valor para el Action_Activate), texto, tag, imagen del stock o de la carpeta "iconos" del proyecto
opciones.Add(["mOrdenarAsc", "Ordenar Ascendente", "", "sort-ascent"])
opciones.Add(["mOrdenarDesc", "Ordenar Descendente", "", "sort-descent"])
opciones.Add(["mDesordenar", "Desordenar", "", "undo"])
opciones.Add(["", "", "", ""])
opciones.Add(["mRecargar", "Volver a rellenar la lista", "", "refresh"])
elsubmenu = New Menu(Me)
creaMenu(opciones, elsubmenu) 'esta sub hace el trabajo. Es candidata a estar ubicada en un módulo dentro del proyecto.
ListBox1.popupmenu = elsubmenu.name
End
Public Sub Form_Open()
Dim opciones As New Variant[]
llenalista()
'formato de opciones: nombre del menu (y valor para el Action_Activate), texto, tag, imagen del stock o de la carpeta "iconos" del proyecto
opciones.Add(["mOrdenarAsc", "Ordenar Ascendente", "", "sort-ascent"])
opciones.Add(["mOrdenarDesc", "Ordenar Descendente", "", "sort-descent"])
opciones.Add(["mDesordenar", "Desordenar", "", "undo"])
opciones.Add(["", "", "", ""])
opciones.Add(["mRecargar", "Volver a rellenar la lista", "", "refresh"])
elsubmenu = New Menu(Me)
creaMenu(opciones, elsubmenu) 'esta sub hace el trabajo. Es candidata a estar ubicada en un módulo dentro del proyecto.
ListBox1.popupmenu = elsubmenu.name
End
¿Por qué "construir" un variant[] y luego pasarlo a una función si podemos construir directamente el menú? Pues para poder "pre-procesar" el susodicho Variant en según qué situaciones, para poder pasarlo como parámetro, para poder rellenarlo a partir de una BD o un fichero Settings, etc. etc.
Saludos
menuaction-0.0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | menuaction-0.0.1.tar.gz | |
Tamaño: | 11.93 KB | |
Descargado: | 44 veces |
menuaction-0.0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | menuaction-0.0.1.tar.gz | |
Tamaño: | 11.93 KB | |
Descargado: | 44 veces |
menuaction-0.0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | menuaction-0.0.1.tar.gz | |
Tamaño: | 11.93 KB | |
Descargado: | 44 veces |