Programación General > Visual Basic 6.0 e inferiores
Matriz De Controles Y Tags
(1/1)
MAESTROMANU:
Hola, tengo en un form 3 casillas de verificacion que se llaman
Check1(0) y en el tag he puesto 8
Check1(1) y en el tag he puesto 9
Check1(2) y en el tag he puesto 10,
Ahora, tengo un boton que se llama 'CmdAlterna01', con el caption 'Todos los usuarios
Al pulsar este boton, quisisera que segun el caption de este boton se activaran o desactivaran los check's, sabiendo que al pulsar el boton 'CmdAlterna01', cambio el caption de este por 'Usuario actual' y al reves.
'Todos los usuarios' ----> click ----> 'Usuario Actual'
'Usuario Actual' ----> click ----> 'Todos los usuarios'
y el valor del tag 8 determina que este debe estar activo para 'Todos los usuarios', pero no debe estar activo para el 'usuario actual'
el valor 9 determina que este debe estar activo para 'Usuario actual', pero no puede estar activo para 'Todos los usuarios'
y el valor 10 determina que este debe estar activo tanto para 'Usuario actual"como para 'Todos los usuarios'
Adjunto el codigo que tengo puesto, pero el problema que tengo es que el check1(0) si lo modifica como debiera, pero los demas no.
--- Código: Text --- Private Sub CmdAlterna01_Click() If CmdHardware.Caption = "Usuario Actual" Then CmdHardware.Caption = "Todos los usuarios" Select Case Check1(Index).Tag Case 8 Check1(Index).Enabled = True Case 9 Check1(Index).Enabled = False Case 10 Check1(Index).Enabled = True End Select ElseIf CmdHardware.Caption = "Todos los usuarios" Then CmdHardware.Caption = "Usuario actual" Select Case Check1(Index).Tag Case 8 Check1(Index).Enabled = False Case 9 Check1(Index).Enabled = True Case 10 Check1(Index).Enabled = True End Select End If End Sub
Brroz:
Hola maestro.
Tu código debería ser algo así, optimizaciones aparte:
--- Código: Text --- Private Sub CmdAlterna01_Click() Dim iIdx As Integer If cmdHardware.Caption = "Usuario Actual" Then cmdHardware.Caption = "Todos los usuarios" For iIdx = 0 To 2 Select Case Check1(iIdx).Tag Case 8 Check1(iIdx).Enabled = True Case 9 Check1(iIdx).Enabled = False Case 10 Check1(iIdx).Enabled = True End Select Next iIdx ElseIf cmdHardware.Caption = "Todos los usuarios" Then cmdHardware.Caption = "Usuario Actual" For iIdx = 0 To 2 Select Case Check1(iIdx).Tag Case 8 Check1(iIdx).Enabled = False Case 9 Check1(iIdx).Enabled = True Case 10 Check1(iIdx).Enabled = True End Select Next iIdx End IfEnd Sub
Estabas usando la variable 'index', que no sé dónde la tendrías declarada, supongo que con valor 0, por lo que sólo te funcionaba con un check.
Chao.
MAESTROMANU:
Muchas gracias brroz.
Navegación
Ir a la versión completa