USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Como rolar listbox com bt de comando
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
 
DeFreitas
SÃO PAULO
SP - BRASIL
ENUNCIADA !
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?

 


   
DeFreitas
SÃO PAULO
SP - BRASIL
ENUNCIADA !
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!

   
DeFreitas
SÃO PAULO
SP - BRASIL
ENUNCIADA !
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!
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página