Crear Menu por codigo

23/07/2003 - 16:57 por L G A | Informe spam
Mi problema es que tengo una aplicación que se puede minimizar con un ocx de
Systray que me muestra un icono
al lado del reloj y con el botón derecho desplego un menú mediante
popupmenu.

El problema es que dentro del menú existe.
Abrir
Trabajos

Salir

y lo que quiero es que dentro de Trabajos se desplegue mas o menos campos
según los trabajos realizados.
Los trabajos los tengo metidos dentro de una matriz, lo que no se como
mediante código puedo añadir o eliminar
campos de un menú (por supuesto se llamaría antes que el popupmenu)

Gracias de antemano.
 

Leer las respuestas

#1 Leonardo Azpurua
23/07/2003 - 17:44 | Informe spam
"L G A" escribió en el mensaje
news:#
Mi problema es que tengo una aplicación que se puede minimizar con un ocx


de
Systray que me muestra un icono
al lado del reloj y con el botón derecho desplego un menú mediante
popupmenu.

El problema es que dentro del menú existe.
Abrir
Trabajos

Salir

y lo que quiero es que dentro de Trabajos se desplegue mas o menos campos
según los trabajos realizados.
Los trabajos los tengo metidos dentro de una matriz, lo que no se como
mediante código puedo añadir o eliminar
campos de un menú (por supuesto se llamaría antes que el popupmenu)

Gracias de antemano.



Hola, Luis:

La siguiente función es parte de una clase, que utilizo para actualizar un
menú con las últimas tareas opcionales (reportes o procdimientos) realizadas
por un usuario.

p es una matriz de menús, y K es el selector del tipo de menu. Para crear la
matriz de menús, lo único que tienes que hacer es colocarle un indice de
CERO (0) en el editor de menús de VB a la entrada donde quieres colocar la
lista dinámica.

La función MRUList(K) devuelve un Variant que contiene un arreglo con los
nombres de las opciones seleccionadas recientemente. Una vez cargadas las
opciones, se limpia el menú de cualquier contenido anterior (el mnú se
actualiza despues de cada operacion). Supongo que a partir de allí, o demás
es bien genérico.

Public Sub UpdateFromMRU(p As Object, K As String)
Dim v As Variant
Dim i As Integer, l As Integer

v = MRUList(K)
i = 1: l = p.Count - 1
While i <= l
Unload p(i)
i = i + 1
Wend

i = 1
Do While i <= UBound(v)
Load p(i)
p(i).Caption = v(i)
i = i + 1
Loop

End Sub

Salud!

Leonardo
[MS MVP - VB]

Preguntas similares