matriz de controles
Hola, tengo un problema para desarrollar mi trabajo, es que quiero que mi control aparezca de forma manual una vez compilado mi programa, pero quiero que pase a la siguiente linea cada una vez ingresado 5 controles, como puedo hacer eso. Gracias de antemano, jose
Hola Jose.
prueba esto a ver si es lo que quieres.
Private Sub Form_Load()
Dim sql As String
Dim i As Integer
Dim t, l As Long
Dim TOTAL As Integer
TOTAL = 11
For i = 0 To TOTAL
If i <> 0 Then
Load optTurno(i)
optTurno(i).Visible = False
End If
'optTurno(i).Tag = LO SACO DE LA CONSULTA
'optTurno(i).Caption = LO SACO DE LA CONSULTA
Next i
t = optTurno(0).Top
For i = 0 To optTurno.Count - 1
optTurno(0).Visible = True
optTurno(i).Visible = True
optTurno(i).Height = 400
optTurno(i).Width = 2000
If i Mod 5 = 0 Then 'primera columna
optTurno(i).Left = optTurno(0).Left
If i <> 0 Then
t = t + 700
End If
ElseIf (i + 4) Mod 5 = 0 Then 'segunda columna
optTurno(i).Left = optTurno(i - 1).Left + 2500
ElseIf (i + 3) Mod 5 = 0 Then 'segunda columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '2500
ElseIf (i + 2) Mod 5 = 0 Then 'tercera columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '4000
ElseIf (i + 1) Mod 5 = 0 Then 'tercera columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '4000
End If
optTurno(i).Top = t
Next i
For i = 0 To optTurno.Count - 1
optTurno(i).Visible = True
Next i
End Sub
antes tienes que crearte un optturno(0) en diseño con visible=false
prueba esto a ver si es lo que quieres.
Private Sub Form_Load()
Dim sql As String
Dim i As Integer
Dim t, l As Long
Dim TOTAL As Integer
TOTAL = 11
For i = 0 To TOTAL
If i <> 0 Then
Load optTurno(i)
optTurno(i).Visible = False
End If
'optTurno(i).Tag = LO SACO DE LA CONSULTA
'optTurno(i).Caption = LO SACO DE LA CONSULTA
Next i
t = optTurno(0).Top
For i = 0 To optTurno.Count - 1
optTurno(0).Visible = True
optTurno(i).Visible = True
optTurno(i).Height = 400
optTurno(i).Width = 2000
If i Mod 5 = 0 Then 'primera columna
optTurno(i).Left = optTurno(0).Left
If i <> 0 Then
t = t + 700
End If
ElseIf (i + 4) Mod 5 = 0 Then 'segunda columna
optTurno(i).Left = optTurno(i - 1).Left + 2500
ElseIf (i + 3) Mod 5 = 0 Then 'segunda columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '2500
ElseIf (i + 2) Mod 5 = 0 Then 'tercera columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '4000
ElseIf (i + 1) Mod 5 = 0 Then 'tercera columna
optTurno(i).Left = optTurno(i - 1).Left + 2500 '4000
End If
optTurno(i).Top = t
Next i
For i = 0 To optTurno.Count - 1
optTurno(i).Visible = True
Next i
End Sub
antes tienes que crearte un optturno(0) en diseño con visible=false