Avatar billede zareba Nybegynder
22. december 2002 - 20:21 Der er 8 kommentarer og
1 løsning

List

Jeg er ved at lave et program hvor progrmmet skal loade noget, hver gang et element i et list object ænders.

Altså hvis et element i listen bliver highlighttet skal programmet loade nogle informationer.
Hvis så et andet element bliver highlighttet via. brug at mus, taster eller hvad der nu kan det, skal programmet loadet nogle andre informationer.

Problemmet er at der ikke er en Event i liste objecttet der kan give besked når et nyt element bliver highlighttet.

Nogle der har en løsning?
Avatar billede joern Nybegynder
22. december 2002 - 20:30 #1
Hej.

Hvad er det der udløser at en post i listen bliver markeret?  Det som gør det må jo identificere netop DEN post, og den har et listindex.  Når listindex i en liste sættes, udløses et 'click' i listen, dette må kunne anvendes til at udløse det du ønsker.

Til inspiration

  for a = 0 to list1.listcount-1
    list1.listindex = a
    if instr(list1.text, "sog")>0 then  '  "sog" er det der genkender posten
    exit for
  next a

Er det helt i skoven må du forklare nærmere, evt. med kodestump.

M.v.h.  Jørn
Avatar billede tubber Juniormester
22. december 2002 - 20:48 #2
Jeg tror det han leder efter er noget der henter Data fra eks. en DB hvor den så skal vide hvad data den skal hente ved at kende det i listboxen?

Smidder lige et eksempel :O)

Private Sub lstMovies_Click()
Set ws = Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "\CDDatabase.mdb")
Set rs = db.OpenRecordset("SELECT * FROM movies")

'Moves to the firts recordset

If Not rs.EOF Then
    rs.MoveFirst
   
'Loop that makes the program go throug the database
   
    Do While Not rs.EOF

        'When the record is found the textfelts is filled
       
        If lstMovies.Text = rs!Title Then
            txtMovieTitle.Text = rs!Title
            txtMovieGenre.Text = rs!genre
            txtMovieCDName.Text = rs!cdname
            txtMovieCDNumber.Text = rs!cdnr
            txtMovieOwner.Text = rs!Owner
            txtMovieBorowed.Text = rs!borowed
            txtMovieFileType.Text = rs!filetype
            txtMovieInfo.Text = rs!info
        Exit Sub
        Else: rs.MoveNext
        End If
    Loop
End If
End Sub

Mit eksempel søger ved tekst i en listbox, det kan laves mere advanceret med index eller endnu bedre med et tag.....

/Tubber
Avatar billede zareba Nybegynder
22. december 2002 - 23:16 #3
Det jeg i bund og grund skal bruge er en OnChange Event til en liste. Denne Event skal opstå når når list1.listindex skifter!
Avatar billede tubber Juniormester
22. december 2002 - 23:33 #4
og hvad skal den event gøre ?
Avatar billede joern Nybegynder
22. december 2002 - 23:39 #5
zareba>>

Prøv at indsætte din kode under 'Private sub list1_click'

Angivelse af list1.listindex = a udløser et 'klik' i listen - prøv selv!

M.v.h.  Jørn
Avatar billede zareba Nybegynder
22. december 2002 - 23:50 #6
list1.listindex giver et tal værdi for hvilket element der er highlighttet i listen. hvis jeg trykker et andet sted på listen skifter denne værdi, hvis jeg trykker op eller ned skifter denne værdi. jeg skal buge en Event der bliver kalt hvis denne værdi skifter, ikke lave en Event ud af 3-4 andre Events.
Avatar billede tubber Juniormester
23. december 2002 - 00:20 #7
du kan lave en function der bliver kaldt ved de forskellige events...

Function ListChange()
Debug.Print List1.ListIndex
End Function

Private Sub List1_Click()
Call ListChange
End Sub

Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
Call ListChange
End Sub
Avatar billede zareba Nybegynder
23. december 2002 - 00:30 #8
Det var også min ide.
Og det ender det nok også med at jeg laver det på den måde.
Det ku bare have været lidt cool hvis jeg ku lave det andet.
Avatar billede zareba Nybegynder
06. juli 2008 - 12:43 #9
Hmm... Det er vist nogle år siden jeg har være her inde, må heller få lukket spørgsmålet.
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