listview voorzien van icons

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Experts,
Ik heb een probleem met een project.
Dit probleem houdt in:
Listview wordt gevuld met gegeven waarbij aan elk rij een rood balletje (red.icon) moet worden gekoppeld.
Als ik op een item klikt en daarna op knop -Gedaan- klikt moet dat rode balletje vervangen worden
door een gecheckt teken (check.icon).
Ben er nu even mee een tijdje mee bezig, maar krijg die icons niet te zien.
Moet eerlijk zeggen dat ik dat met die icons nooit gedaan.
Dus ter lering leg ik het aan u voor.
mvg
 

Bijlagen

  • test_gedaan.xlsm
    16,5 KB · Weergaven: 41
Met...
Icons: lvwOverzichtTaken.View = 0
smallicons: lvwOverzichtTaken.View = 1
 
@HSV
Zo'n beetje alle mogelijkheden geprobeerd vandaag, helaas wordt er niets getoond
Zal zeker iets verkeerd doen, maar weet niet wat?
Code:
Public Sub VullvwToDo()
      
    lvwOverzichtTaken.ListItems.Clear
    With lvwOverzichtTaken
        .Visible = True
        .Top = 10
        .Left = 10
        .Height = 230
        .Width = 357
        
        With .ColumnHeaders
        .Clear
        .Add , , "Key", 30
        .Add , , "X", 40, lvwColumnCenter
        .Add , , "Taak", 50, lvwColumnLeft
        .Add , , "Ibb", 70, lvwColumnLeft
        .Add , , "Notitie", 168, lvwColumnLeft
        End With
        
        Me.ImageList1.ListImages.Clear
    
        'definieer grootte plaatje
        Me.ImageList1.ImageHeight = 12
        Me.ImageList1.ImageWidth = 12
        
        'Laad de images / vermeld pad waar de icons staan
        Me.ImageList1.ListImages.Add , "Im2", LoadPicture("d:\TestOmgeving\red.ico")
        Me.ImageList1.ListImages.Add , "Im3", LoadPicture("d:\TestOmgeving\check.ico")
    
        'Afbeeldingen combineren met ListView
        Set Me.lvwOverzichtTaken.smallicons = Me.ImageList1
        Set Me.lvwOverzichtTaken.Icons = Me.ImageList1
        
        For i = 1 To 2
            Dim li As ListItem
                         
            Set li = .ListItems.Add(, , i) 'índex
                li.ListSubItems.Add , , "X"
                li.ListSubItems.Add , , "Taak"
                li.ListSubItems.Add , , "Ibb"
                li.ListSubItems.Add , , "Notitie"
        Next i
        lvwOverzichtTaken.View = 0
            
        For X = 1 To .ListItems.Count
           'Combineert de afbeelding met de sleutel (Sleutel) "Im2". Deze afbeelding wordt weergegeven
            'wanneer de ListView zich in de pictogrammodus bevindt
            If Gedaan = False Then
                lvwOverzichtTaken.View = 0
                .ListItems(X).Icon = "Im2"
            End If
            'Combineert de afbeelding met de sleutel (Sleutel) "Im2". Deze afbeelding wordt weergegeven
            'wanneer de ListView zich in de pictogrammodus bevindt
            If Gedaan Then
                lvwOverzichtTaken.View = 0
                .ListItems(X).SmallIcon = "Im3"
            End If
        Next
        
    End With
    

  'Geeft pictogramweergave op wanneer UserForm wordt gestart
    lvwOverzichtTaken.View = lvwReport

       
End Sub
 
Code:
Public Sub VullvwToDo()
 With lvwOverzichtTaken
        .Visible = True
        .Top = 10
        .Left = 10
        .Height = 230
        .Width = 357
    ImageList1.ListImages.Clear
    ImageList1.ImageHeight = 70
    ImageList1.ImageWidth = 70
    ImageList1.ListImages.Add , "Im2", [COLOR=#3E3E3E]LoadPicture("d:\TestOmgeving\red.ico")[/COLOR]
    ImageList1.ListImages.Add , "Im3", [COLOR=#3E3E3E]LoadPicture("d:\TestOmgeving\check.ico")[/COLOR]
     Set Me.lvwOverzichtTaken.Icons = Me.ImageList1
        For x = 1 To 2 '
         If Gedaan = False Then
           .ListItems.Add x, "Taak" & x, "tekst " & x, "Im2"
          Else
           .ListItems(x).Icon = "Im3"
         End If
        Next
 End With
lvwOverzichtTaken.View = lvwIcon '= 0
End Sub

Of knutsel hier wat mee.
Code:
Public Sub VullvwToDo()


    lvwOverzichtTaken.ListItems.Clear


    With lvwOverzichtTaken
        .Visible = True
        .Top = 10
        .Left = 10
        .Height = 230
        .Width = 357


        With .ColumnHeaders
        .Clear
        .Add , , "Key", 0
        .Add , , "Taak", 50, lvwColumnLeft
        .Add , , "X", 50, lvwColumnCenter
        .Add , , "hsv", 70, lvwColumnLeft
        .Add , , "Notitie", 168, lvwColumnLeft
        End With


       ImageList1.ListImages.Clear


    'definieer grootte plaatje
    ImageList1.ImageHeight = 70
    ImageList1.ImageWidth = 70


    'Laad de images / vermeld pad waar de icons staan
    ImageList1.ListImages.Add , "Im2", [COLOR=#3E3E3E]LoadPicture("d:\TestOmgeving\red.ico")[/COLOR]
    ImageList1.ListImages.Add , "Im3", [COLOR=#3E3E3E]LoadPicture("d:\TestOmgeving\check.ico")[/COLOR]    'Afbeeldingen combineren met ListView
    Set lvwOverzichtTaken.Icons = ImageList1
    Set lvwOverzichtTaken.SmallIcons = ImageList1
      '.ListItems.Add , "Taak", "text", "Im2"
       For i = 1 To 2
            Dim li As ListItem


            Set li = .ListItems.Add(, , i, "Im2", "Im3") 'índex
                li.ListSubItems.Add , , "Taak " & i
                li.ListSubItems.Add , , "Gedaan " & i
                li.ListSubItems.Add , , "hsv " & i
                li.ListSubItems.Add , , "Notitie " & i
           Application.Wait DateAdd("s", 1, Now)
        Next i






    End With


    'Geeft pictogramweergave op wanneer UserForm wordt gestart
    lvwOverzichtTaken.View = 3 'lvwReport




End Sub
 
Laatst bewerkt:
Ter lering:
 

Bijlagen

  • __listview_snb_001.xlsb
    214,1 KB · Weergaven: 37
@HSV
In het voorbeeld geef ik bij kolom x een x of een v mee.
Maar dat vind ik eigenlijk niet zo mooi.
Ik zie dat de icons zichtbaar worden alleen in de icon-view.
Alleen als ik lvwReport neem ipv lvwIcon, gaat het mis.
Heb een voorbeeld meegestuurd.
Zodra het programma opstart moet de listview gevuld worden
en eigenlijk aan de linkerkant hwet red.iocon geplaatst worden.
Na een rij in de listview geselecteerd te hebben en op -Gedaan- geklikt
moet het gekozen item de check.ico tonen
Mogelijk dat u een oplossing ziet.
mvg
 

Bijlagen

  • todo_taken.jpg
    todo_taken.jpg
    49,5 KB · Weergaven: 32
Vul de imagelist in de ontwerpmodus.
 
Ben er nog mee bezig. Dus hou m nu nog open. Eerst het project afmaken
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan