Polack
|
EMBU DAS ARTES SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 29/05/2009 13:30 hs
Olá pessoa boa tarde! Estou tendo problemas para rolar o listbox com botão de comando. fiz da seguinte forma:
Private Sub CmdProximo_Click() If LstMarcas.ListIndex <> 0 Then LstMarcas.ListIndex = LstMarcas.ListIndex + 1 Else LstMarcas.ListIndex = LstMarcas.ListIndex - 1 End If
End Sub
Private Sub CmdAnterior_Click() If LstMarcas.ListIndex <> 0 Then LstMarcas.ListIndex = LstMarcas.ListIndex - 1 Else LstMarcas.ListIndex = LstMarcas.ListIndex + 1 End If
End Sub
rola direitinho, porém quando chega no ultimo item da erro, eu queria que quando chegasse no ultimo item ele parasse, e o cliente ter que clicar no bt anterior pra ele voltar de baixo para cima.
desde ja grato!
|
TÓPICO EDITADO
|
|
|
|
|
|
Postada em 29/05/2009 14:50 hs
Tente o seguinte:
Private Sub CmdProximo_Click() If LstMarcas.ListIndex <> 0 Then If LstMarcas.ListIndex + 1 > LstMarcas.ListCount Then LstMarcas.ListIndex = LstMarcas.ListCount Else LstMarcas.ListIndex = LstMarcas.ListIndex + 1 End If Else LstMarcas.ListIndex = LstMarcas.ListIndex - 1 End If
End Sub
o que pode ser adaptado para o outro botão...
|
|
|
Polack
|
EMBU DAS ARTES SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 29/05/2009 15:12 hs
DeFreitas valeu a tentativa, mais quando eu clico no bt proximo, ele fica entre o primeiro e segundo registros, dai eu clico no terceiro gegitros ele desce, más quando chego no ultimo da o mesmo erro. Private Sub CmdProximo_Click() If LstMarcas.ListIndex <> 0 Then If LstMarcas.ListIndex + 1 > LstMarcas.ListCount Then LstMarcas.ListIndex = LstMarcas.ListCount Else 'linha que gera o erro LstMarcas.ListIndex = LstMarcas.ListIndex + 1 End If Else LstMarcas.ListIndex = LstMarcas.ListIndex - 1 End If
End Sub se mais alguem tiver outro codigo?
|
|
|
|
Postada em 29/05/2009 15:37 hs
OK!
Tente adaptar esse código ao seu, por favor, para ver se ajuda:
Private Sub cmdAnterior_Click() If (List1.Selected(List1.ListIndex)) Then If (List1.ListIndex >= 0) Then List1.ListIndex = List1.ListIndex - 1 If (List1.ListIndex < 0) Then List1.ListIndex = 0 End If End If End Sub
Private Sub cmdProximo_Click() If (List1.Selected(List1.ListIndex)) Then If (List1.ListIndex >= 0) Then If (List1.ListIndex + 1 >= List1.ListCount) Then List1.ListIndex = List1.ListCount - 1 Else List1.ListIndex = List1.ListIndex + 1 End If End If End If End Sub
Até breve!
|
|
|
|
Postada em 29/05/2009 15:42 hs
Acrescente isso para evitar definitivamente os erros:
Private Sub Form_Load() List1.ListIndex = 0 End Sub
Até mais!
|
|
|
Polack
|
EMBU DAS ARTES SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 29/05/2009 15:58 hs
Oh DeFreitas adaptei o codigo e ta dando o seguinte erro: Run-Time error '381' Invalid property array index achei que fosse por causa do focu na listbox então adicionei um SetFocus, ficou assim: Private Sub CmdAnterior_Click() LstMarcas.SetFocus If (LstMarcas.Selected(LstMarcas.ListIndex)) Then If (LstMarcas.ListIndex >= 0) Then LstMarcas.ListIndex = LstMarcas.ListIndex - 1 If (LstMarcas.ListIndex < 0) Then LstMarcas.ListIndex = 0 End If End If End Sub Private Sub CmdProximo_Click() LstMarcas.SetFocus If (LstMarcas.Selected(LstMarcas.ListIndex)) Then If (LstMarcas.ListIndex >= 0) Then If (LstMarcas.ListIndex + 1 >= LstMarcas.ListCount) Then LstMarcas.ListIndex = LstMarcas.ListCount - 1 Else LstMarcas.ListIndex = LstMarcas.ListIndex + 1 End If End If End If End Sub mais continua dando o erro! té mais!
|
|
|