Notifications
Clear all

Botão de comando acompanhando a linha da listview.

5 Posts
2 Usuários
0 Reactions
900 Visualizações
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Prezados, bom dia!

Utilizo uma listview para carregar as minhas programações de pagamento. Tendo em vista que, para cada programação, existe um cliente/fornecedor cadastrado, eu quero que, ao selecionar uma programação, apareça o botão de comando no final dessa linha.

Esse botão, uma vez selecionado, puxará o histórico de programações do cliente apresentado na linha selecionada.

Vale ressaltar que deve ser apenas um botão e comando, o qual movimentará-se de acordo com a linha selecionada.

É possível?

 
Postado : 17/10/2014 5:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!

Se eu imagina que estou usando um controle Controles de Formulários, e minha célula ativa (tente adaptar de acordo com sua necessidade), faça.

Option Explicit

Private Sub Button1_Click()

With ActiveSheet.Shapes("Button 1")
    .Top = ActiveCell.Top
    .Left = ActiveCell.Left
End With

End Sub

Att

 
Postado : 17/10/2014 1:49 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Prezados, bom dia!

Utilizo uma listview para carregar as minhas programações de pagamento. Tendo em vista que, para cada programação, existe um cliente/fornecedor cadastrado, eu quero que, ao selecionar uma programação, apareça o botão de comando no final dessa linha.

Esse botão, uma vez selecionado, puxará o histórico de programações do cliente apresentado na linha selecionada.

Vale ressaltar que deve ser apenas um botão e comando, o qual movimentará-se de acordo com a linha selecionada.

É possível?

Sinceramente, achei um pouco confuso. E não entendi o porque de um botão ?
Porque não utiliza o próprio evento do Listiview(Evento Click) para puxar o histórico de programações ao invés de terde construir uma rotina para o Click no ListView, outra para deslocar o Botão e outra para puxar o historico ?

[]s

 
Postado : 17/10/2014 6:01 pm
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Mauro,

Sim, seria mais fácil, mas, porém, nesta listview eu já utilizo o comando click e DblClick.

Ao clicar na linha da listview, o form ativa alguns botões como: excluir e novo. Ao dar DblClick, a ativa-se botões/imagens referente a Alterar e entre outros, os quais estavam com o visual inativo.

 
Postado : 18/10/2014 5:26 am
(@lorenzon)
Posts: 355
Honorable Member
Topic starter
 

Alexandre,

Tentei adaptar a sua ideia ao código que carrega os textbox ao clicar na listview em questão. Por eu não ter conseguido 100% do que eu preciso, fiz um modelo para tentar explicar a real necessidade (veja abaixo).

O problema é que a linha destacada de vermelho, faz com que a image fique com o TOP igual a linha do cadastro na sheet. Preciso que a image123 fique com o TOP igual a da linha ativada na listview, ou seja, rente a linha.

With ActiveSheet.Shapes
[color=#FF0000]    Image123.Top = lslista.SelectedItem[/color]
    Image123.Left = 440
End With
                        End If

Esse é o código que carrega os textbox com os dados da listview.

Dim oList As Object
Dim j

    On Error Resume Next
            Set oList = lslista.SelectedItem
        If oList Is Nothing And [au1] > 1 Then 'Exit Sub
            MsgBox "É preciso selecionar um item válido na lista", vbInformation, "Atenção!"
            
            
Exit Sub

End If

indiceRegistro = UserForm9.ProcuraIndiceRegistroPodId(lslista.ListItems.Item(lslista.SelectedItem.Index))
                     If indiceRegistro <> -1 Then
                        Call UserForm9.CarregaRegistroPorIndice(indiceRegistro)
     
[color=#0040FF]With ActiveSheet.Shapes
    Image123.Top = lslista.SelectedItem
    Image123.Left = 440
End With[/color]
                        End If
 
Postado : 18/10/2014 6:07 am