Italian [Risolto] CLV Disabilitare evento sul PanelItem

LucaMs

Expert
Licensed User
Longtime User
Temo che senza modificare il sorgente della CLV non sia possibile.
Se davvero necessario, posso provarci.
Come non detto, pensavo che premendo il button tu vedessi anche l'animazione, il "flash", ma ho provato e non è così.
Ergo vorresti disabilitare il resto, cosa che non ho provato.

(Caffè, sigaretta e provo)
 

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?
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…