Italian [Risolto] CLV Disabilitare evento sul PanelItem

XorAndOr

Active Member
Licensed User
Longtime User
Vabbè visto che la ricerca sul forum oggi non và faccio domanda/e

All'interno della CLV ho le label e un Button
volevo abilitare solo il Button a fare le funzioni, cioè pressando la clv non deve fare quel flash di evento
Grazie
 

Attachments

  • clv1.jpg
    clv1.jpg
    37.5 KB · Views: 27

LucaMs

Expert
Licensed User
Longtime User
"SI... PUO'... FARE" (cit.)

Disabilita tutte le view dell'item (forse nel tuo caso solo la label), tranne il button, ovviamente.

Poi bisogna disabilitare anche il panel base dell'item. Puoi farlo dopo aver caricato del tutto la CLV o anche mentre lo carichi, come nell'esempio seguente:
B4X:
Private Sub FillCLV
    For i = 0 To 199
        Dim Person As clsPerson
        Person.Initialize(Me, "Person")
        Person.Name = CreateName
        Person.Age = Rnd(10, 101)
        CustomListView1.Add(CreateItem(Person), Person)
        CustomListView1.GetRawListItem(CustomListView1.Size - 1).Panel.Enabled = False ' questa riga.
    Next
End Sub


P.S. Eh no, facendo in quel modo viene disabilitato anche il tasto!
 

LucaMs

Expert
Licensed User
Longtime User
Sopra è B4J ma funziona sicuramente anche con B4A e B4i.

Devi solo mettere un panel trasparente sopra tutto tranne il button e creare la routine-evento Click del panel, lasciandola vuota.
B4X:
'Empty but do not remove.
Private Sub pnlOver_Click
End Sub

In B4J è leggermente diverso:
B4X:
Private Sub pnlOver_MouseClicked (EventData As MouseEvent)
    EventData.Consume
End Sub
 

Sagenut

Expert
Licensed User
Longtime User
Ma nelle impostazioni della CLV da Designer non c'è anche il colore per il Pressed?
Impostandolo come trasparente?
 
Top