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

[0] Índice de Mensajes

Ir a la versión completa