Cita:
Iniciado por ComprasDesdeCasa Cosas que veo. Espero que lo entiendas como crítica constructiva
1. El for no sirve de gran cosa... de hecho sólo lo quieres para que i=ind-1, cosa que podrías indicar directamente. También podrías utilizar la propiedad ubound (mira mi mensaje #3) para obtener el valor.
2. No sé por qué te has fijado en obtener el valor del último botonprods que has utilizado. También podrías utilizar la del primero (i=0) y sería lo mismo.
3. Me imagino que VScrollProd es un control de tipo VScroll. Si te fijas tiene una propiedad Max. Yo le asignaría algún múltiplo de filas de controles botonprods que llevas y de la altura de los mismos, teniendo en cuenta ese 49 que supongo que es la distancia entre VScrollProd. De ese modo te será más fácil controlar en qué fila estás cuando encuentres el valor actual VScrollProd.Value.
Saludos.
Mi estimado desde ya mil gracias por la data y no te preocupes que toda critica siempre que sea buena la tomo como constructiva, ya que yo me considero novato en esto de la programación y VB6.
respecto a tu primera pregusta del porque del for y next, eso me puso a pensar y termine por descartarlo y dejar el código de la siguiente manera:
Código:
Private Sub VerticalScroll()
Dim l As Double
Dim a As Double
Dim x As Double
Dim AltoBt As Integer
Dim nProds As Integer
Dim AltoTotBt As Integer
Dim indice As Integer
indice = botonprods.Count
nProds = indice / 4
AltoBt = botonprods(1).Height + 49
AltoTotBt = AltoBt * nProds
x = VScrollProd.Value
a = AltoTotBt - areaprods.Height
l = (a * x) / 100
botonprods(1).Top = -l
End Sub
con esto ya me funciono y efectivamente me hace el scrol, pero solo me lo hace sobre el botonprods(1)
y esto es porque en mi código en la ultima parte tengo declarado solo el 1, lo que no se me ocurre bien es como hacer para que me lo haga sobre todo los que tengo. Pero creo que aquí es en donde tengo que jugar con el i, o que opinan?
Saludos.