Visual Basic - Seteo de menúes con un string

Life is soft - evento anual de software empresarial
 
Vista:

Seteo de menúes con un string

Publicado por edwinmoses (2 intervenciones) el 05/06/2006 01:02:47
Hola !
¿Por casualidad alguien sabe como inicializar una opción de menú (ponerla enabled) a partir de una variable que contiene el nombre de ese menú?

Por ejemplo:
Tengo en una tabla de mi base de datos que contiene los nombres de cada una de las opciones de menu que va a tener mi aplicacion.

Quiero ir leyendo cada una de ellas, acumulandolas en una variable que luego voy a citar para inicializar propiedades de la correspondiente opcion de menu. Algo asi como lo siguiente:

cMenu1 = "mnuFile"
(supongamos que ya lo levante de la tabla y lo tengo almacenado asi)

Luego, quiero leer el contenido de esa variable de forma literal, y setear a partir de ella la propiedad requerida:

mnuFile.Enabled = true

Esto asi para cada valor que voy levantando de la tabla, que corresponde a cada una de las opciones de mi menu, operacion que realizo en un ciclo como el siguiente:

' Tengo la tabla cargada en un control ADO llamado "adoMenues"
' Supongamos que tiene solamente 3 registros.
' El campo 1 del registro 1 contiene por ejemplo el valor "mnuFile"
' El campo 1 del registro 2 contiene el valor "mnuEdit"
' El campo 1 del registro 3 contiene el valor "mnuHelp"

With Form1.adoMenues.Recordset
.MoveFirst
For i = 1 To .RecordCount
cMenu = .Fields(0).Value
cMenu.Enabled = False
.MoveNext
Next i
End With

Se que este codigo así como está no funciona, pero lo transcribo para que se entienda lo que quiero hacer.

Espero que alguien me pueda ayudar.
Desde ya muchas gracias y salu2 a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Seteo de menúes con un string

Publicado por SuNcO (599 intervenciones) el 05/06/2006 04:30:03
Este truco me funciona bien. Se trata de avanzar por todos los controles y al detectar un menu ver su nombre, si el nombre concuerda con el que buscamos, pues le damos enabled=false

el_menu = "mnu2"

For Each el_control In Me.Controls
If TypeOf el_control Is Menu Then
If el_control.Name = el_menu Then
el_control.Enabled = False
Exit For
End If
End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seteo de menúes con un string

Publicado por edwinmoses (2 intervenciones) el 05/06/2006 20:26:26
Gracias master !!!!!!!!!!!!!
Me solucionaste un problemon, muchisimas gracias por la ayuda.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar