Avatar billede cronck Nybegynder
24. juli 2004 - 01:14 Der er 19 kommentarer og
1 løsning

At arbejde med ListView's

Nogen der kan hjælpe mig med at finde ud af at bruge ListView box'en?
Det som jeg har behov for at kunne, er at tilføje/fjerne brugere på listen, kalde en form når der bliver dobbelt-klikket på et navn, og vise en lille menu med "Add Ignore", og "Add Friend" når der bliver højre-klikket på det bestemte navn...

Nogen der kan hjælpe?
Avatar billede sjh Nybegynder
24. juli 2004 - 01:48 #1
Her er lidt du kan lege med ;)

'---------------------------------- Form1 ----------------------------------
Option Explicit

Private Sub Form_Load()
Dim i As Long
Dim j As Long
Dim Litem As ListItem
  With ListView1
      .View = 3
      .ColumnHeaders.Add , , "Header 1", 1000
      .ColumnHeaders.Add , , "Header 2", 1000
      .ColumnHeaders.Add , , "Header 3", 1000
      .ColumnHeaders.Add , , "Header 4", 1000
      With .ListItems
          .Clear
          For i = 1 To 50
            Set Litem = .Add(, , "Header 1 (" & i & ")")
            For j = 1 To 3
              With Litem
                  .SubItems(j) = "Header " & (j + 1) & " (" & i & ")"
              End With
            Next 'j
          Next 'i
      End With
  End With
End Sub

Private Sub ListView1_Click()
  With ListView1
      If Not .SelectedItem Is Nothing Then
        With .SelectedItem
            Me.Caption = .Text & _
                        .SubItems(1) & _
                        .SubItems(2) & _
                        .SubItems(3)
        End With
      End If
  End With
End Sub

Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  With ListView1
      If Button = 2 And Not .SelectedItem Is Nothing Then
        .ListItems.Remove .SelectedItem.Index
      End If
  End With
End Sub
'---------------------------------- Form1 ----------------------------------
Avatar billede cronck Nybegynder
24. juli 2004 - 02:07 #2
Hmm... Kunne du sætte nogle flere 'forklaringer ind?
Avatar billede sjh Nybegynder
24. juli 2004 - 02:21 #3
'---------------------------------- Form1 ----------------------------------
Option Explicit

Private Sub Form_Load()
Dim i As Long
Dim j As Long
Dim Litem As ListItem
  With ListView1
      ' Setter ListView1 til List mode (3)
      .View = 3
      ' Tilføjer 4 x Headers (1, 2, 3, 4)
      .ColumnHeaders.Add , , "Header 1", 1000
      .ColumnHeaders.Add , , "Header 2", 1000
      .ColumnHeaders.Add , , "Header 3", 1000
      .ColumnHeaders.Add , , "Header 4", 1000

      With .ListItems
          ' Sletter det som ikke er blevet tilføjet ;)
          .Clear
          For i = 1 To 50
            ' Tilføjer noget i ListView1
            Set Litem = .Add(, , "Header 1 (" & i & ")")
            For j = 1 To 3
              With Litem
                  ' Tilføjer noget i SubItems
                  .SubItems(j) = "Header " & (j + 1) & " (" & i & ")"
              End With
            Next 'j
          Next 'i
      End With
  End With
End Sub

Private Sub ListView1_Click()
  With ListView1
      ' Hvis ikke .SelectedItem er Nothing
      If Not .SelectedItem Is Nothing Then
        With .SelectedItem
            ' Viser det som står i ListView1 og SubItems
            Me.Caption = .Text & _
                        .SubItems(1) & _
                        .SubItems(2) & _
                        .SubItems(3)
        End With
      End If
  End With
End Sub

Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  With ListView1
      ' Hvis du højre klikker og hvis ikke .SelectedItem er Nothing
      If Button = 2 And Not .SelectedItem Is Nothing Then
        ' Fjerner det valgte index
        .ListItems.Remove .SelectedItem.Index
      End If
  End With
End Sub
'---------------------------------- Form1 ----------------------------------
Avatar billede cronck Nybegynder
24. juli 2004 - 02:23 #4
Tusind tak... Sender du så et svar?
Så vil jeg da med glæde give dig point'ne :D
Avatar billede sjh Nybegynder
24. juli 2004 - 02:24 #5
ha ha ja
Avatar billede cronck Nybegynder
25. juli 2004 - 14:19 #6
Hmm.. Jeg tror ikke helt at jeg kan finde ud af det.. :-)
Hvad gør jeg galt? jeg har header "Users", og víl gerne tilføje Test1, Test2 og Test3

Private Sub cmdChatLogon_Click()
        With UserList
        .ColumnHeaders.Add , , "Users", 1815
        ListItems.Add , , "Test1"
        ListItems.Add , , "Test2"
        ListItems.Add , , "Test3"
    End With
End Sub
Avatar billede sjh Nybegynder
25. juli 2004 - 15:13 #7
..ColumnHeaders... skal du kun bruge når du starter dit program ;)

Private Sub cmdAdd_Click()
Dim Litem As ListItem
  With ListView1.ListItems
      Set Litem = .Add(, , "Users 1")
      With Litem
          .SubItems(1) = "Test 1"
          .SubItems(2) = "Test 2"
          .SubItems(3) = "Test 3"
      End With
  End With
End Sub

Private Sub Form_Load()
  With ListView1
      .View = 3
      .ColumnHeaders.Add , , "Users", 1815
      .ColumnHeaders.Add , , "Test 1"
      .ColumnHeaders.Add , , "Test 2"
      .ColumnHeaders.Add , , "Test 3"
  End With
End Sub
Avatar billede cronck Nybegynder
25. juli 2004 - 15:44 #8
Sådan her virker det... :
    Dim dkflag As String
    dkflag = App.Path & "\Icons\flags\denmark2.gif"
    Dim Litem As ListItem
    With UserList.ListItems
        Set Litem = .Add(, , "CroncK")
    End With
Private Sub Form_Load()
  With UserList
      .View = 3
      .ColumnHeaders.Add , , "Users", 1815
  End With
End Sub

Hvordan får jeg billedet dkflag ind lige foran Cronck på listen?
Avatar billede sjh Nybegynder
25. juli 2004 - 15:58 #9
Du skal bruge en ImageList, tilføj nogle billeder i den og prøv...

Private Sub cmdAdd_Click()
  'Her setter vi billede index 1 på. (.., 1, 1)
  Call ListView1.ListItems.Add(, , "CroncK", 1, 1)
End Sub

Private Sub Form_Load()
  With ListView1
      .View = 3
      Set .Icons = ImageList1      '<-- ImageList
      Set .SmallIcons = ImageList1 '<-- ImageList
      .ColumnHeaders.Add , , "Users", 1815
  End With
End Sub
Avatar billede cronck Nybegynder
25. juli 2004 - 20:41 #10
ImageList1... Skal den ikke sættes til et eller andet først?
Avatar billede sjh Nybegynder
25. juli 2004 - 20:43 #11
jo

Set .Icons = ImageList1      '<-- ImageList
Set .SmallIcons = ImageList1 '<-- ImageList

Du skal tilføje ImageList på din Form og et billede.. ellers for du fejl
Avatar billede sjh Nybegynder
25. juli 2004 - 20:45 #12
Tilføje et billede i ImageList ;)
Avatar billede cronck Nybegynder
25. juli 2004 - 20:56 #13
Hvordan?
Kan jeg have flere billeder i ImageList? Hvordan? Jeg har aldrig brugt den slags før... :-)
Avatar billede sjh Nybegynder
25. juli 2004 - 21:00 #14
Under Properties - ImageList1 -> (Custom) der skal du tilføje dine billeder
Avatar billede sjh Nybegynder
25. juli 2004 - 21:01 #15
Marker ImageList1 og se under Properties
Avatar billede cronck Nybegynder
25. juli 2004 - 21:02 #16
ok..
Avatar billede cronck Nybegynder
25. juli 2004 - 21:03 #17
Ahh.. Jeg anede ikk at ImageList var et objekt som man kunne sætte ind... :-)
Avatar billede cronck Nybegynder
25. juli 2004 - 21:11 #18
Kunne du tænkte dig 15 velfortjente point mere?
Avatar billede sjh Nybegynder
25. juli 2004 - 21:13 #19
måske ;)
Avatar billede cronck Nybegynder
25. juli 2004 - 21:50 #20
Så send da et svar :D
http://www.eksperten.dk/spm/523156
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester