+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 16 su 16

ListView1

  1. #11
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Ok Chico ho capito, sei stato di grandissimo aiuto adesso come faccio, ad esempio:
    cliccando su Hello! fare eseguire un comando, ad esempio l'apertura di un msgbox, come devo agire?

    scusa ma non riesco a capire, saresti cos gentile ad aiutarmi?

  2. #12
    L'avatar di chico_
    chico_ non  in linea Topo di biblioteca Ultimo blog: Attacco a Oscommerce
    Nel frattempo ho semplificato il codice:
    Const MF_CHECKED = &H8&
    Const MF_APPEND = &H100&
    Const TPM_LEFTALIGN = &H0&
    Const MF_DISABLED = &H2&
    Const MF_GRAYED = &H1&
    Const MF_SEPARATOR = &H800&
    Const MF_STRING = &H0&
    Const TPM_RETURNCMD = &H100&
    Const TPM_RIGHTBUTTON = &H2&
    Private Type POINTAPI
        x As Long
        y As Long
    End Type
    Private Declare Function CreatePopupMenu Lib "user32" () As Long
    Private Declare Function TrackPopupMenuEx Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal HWnd As Long, ByVal lptpm As Any) As Long
    Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
    Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Dim hMenu As Long
    
    Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 2 Then
        Dim Pt As POINTAPI
        Dim ret As Long
        hMenu = CreatePopupMenu()
        AppendMenu hMenu, MF_STRING, 1, "Hello !"
        AppendMenu hMenu, MF_GRAYED Or MF_DISABLED, 2, "Testing ..."
        AppendMenu hMenu, MF_SEPARATOR, 3, ByVal 0&
        AppendMenu hMenu, MF_CHECKED, 4, "TrackPopupMenu"
        GetCursorPos Pt
        ret = TrackPopupMenuEx(hMenu, TPM_LEFTALIGN Or TPM_RETURNCMD Or TPM_RIGHTBUTTON, Pt.x, Pt.y, Me.HWnd, ByVal 0&)
        DestroyMenu hMenu
        MsgBox ret
    End If
    End Sub
    
    la variable Ret conterrà 1 se selezioni la prima voce, 2 se selezioni la seconda ecc (in pratica ti ritorna il parametro che e' nell'istruzione "AppendMenu", ovvero AppendMenu hMenu, MF_CHECKED, 4 , "TrackPopupMenu" , prova a sostituire quel 4 con 99, selezionare la voce e vedere cosa ti ritorna la MsgBox.


    Ciauz

    Chico
    ℹ️ Leggi di pi su chico_ ...

  3. #13
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    ok Chico ho risolto grazie a te, adesso vorrei fare un'altra cosa:

    vorrei mettere nell'evento;
    Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    'inserire il codice 
    End Sub
    
    che quando spunto un nome me lo deve pure evidenziare, e viceversa!!!! io ho
    provato cos:

    Dim I As Integer
    For I = 1 To ListView1.ListItems.Count
        If ListView1.ListItems(I).Checked = True Then
            ListView1.ListItems(I).Selected = True
        End If
    Next
    
    diciamo che va bene, perch quando spunto il nome me lo evidenzia,
    ma non mi f la procedura inversa!!!!
    mi sapete dire il motivo?

  4. #14
    marco86 non  in linea Scolaretto
    Io non sono esperto ma..la risposta la so anche io:

    dove l'hai scritto che "SE l'item selezionato ALLORA metti checked = true"?

    Devi fare cos:

    For I = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(I).Checked = True Then
    ListView1.ListItems(I).Selected = True
    elseif listview1.listitems(i).selected = true then
    listview1.listitems(i).checked = true
    End If
    next i

    prova..

    ciao

  5. #15
    L'avatar di dolcissimo
    dolcissimo non  in linea Scribacchino
    Mi dispiace ma non cambia niente tra questo che hai scritto tu, e quello che ho scritto io fanno le stesse cose!!!!!

  6. #16
    L'avatar di chico_
    chico_ non  in linea Topo di biblioteca Ultimo blog: Attacco a Oscommerce
    Alternativa 1:
    cliccando sul nome ti si spunta la CheckBox, per deselezionare devi cliccare sul CheckBox.
    Private Sub ListView1_ItemClick(ByVal Item As ListItem)
          Item.Checked = True
    End Sub
    
    Alternativa 2:
    cliccando sul nome ti si spunta la CheckBox, per deselezionare devi cliccare sul CheckBox o ri-cliccare il nome:
    Private Sub ListView1_ItemClick(ByVal Item As ListItem)
          Item.Checked = Not (Item.Checked)
    End Sub
    
    Ciauz

    CHico
    ℹ️ Leggi di pi su chico_ ...

+ Rispondi al messaggio
Pagina 2 di 2 primaprima 12

Potrebbero interessarti anche ...

  1. [VB6] Scroll per ListView1
    Da xreme nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 06-04-2007, 10:38
  2. Ricerca valori in una ListView1
    Da shinnai nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 25-08-2006, 18:36
  3. ListView1 e ciclo
    Da xreme nel forum Visual Basic 6
    Risposte: 19
    Ultimo Post: 28-02-2006, 20:23