Joo eli teen tässä tällästä pikku ohjelmaa mihin voi laittaa muistiin erinnäisiä juttuja... mutta nyt on ongelma:
kun klikataan listboxia niin sen pitäisi ottaa ylös monesko rivi ja sen perusteella tekstilootiin laittaa tiedot... mutta se ei tee niin...
Olen väsännyt oman purkkani:
Private Sub memoList_Click() Open "memo.dat" For Input As #4 row = memoList.Text Debug.Print row For x = x To 999 Input #4, memox1, memox2, memox3, memox4 Debug.Print memox1 Debug.Print memox3 If row = row Then memoName.Text = row memoSet.Text = memox2 memoCome.Text = memox4 memoNotes.Text = memox3 Else End If Next Close #4 End Sub
mutta ottaisin parempia ideoita vastaan (joo toi on niin huono ku olla ja voi :)
Edit: Sainkin jo toimimaan eli ei mitään... mutta parempia ideoita tuon toteuttamiseen olis kiva saada :)
Edit2: Nyt tuli sellanen että on kaks listboxia ja jos toista scrollataan niin toisen pitäisi scrollautua samaan aikaan saman verran. Mahdollista?
Jorgga kirjoitti:
Open "memo.dat" For Input As #4
Tuo ei ole .NETiä. Se käyttää streameja, joille on aika omalaatuinen koodi.
En käytä NETiä vaan VB6 kuten otsikosta käy ilmi
Ai sori en huomannut. Debug.Print näytti niin .NETiltä mutta virheistähän sitä oppii.
Tuo scrollaus ei taida onnistua VB:n omilla ohjaimilla mutta jos teet omat listboxit niin kyllä lähtee.
WinAPIn avulla yhtäaikainen skrollaus onnistuu kuin onnistuukin.
Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const LB_GETTOPINDEX = &H18E Private Const LB_SETTOPINDEX = &H197 Private Sub List1_Scroll() Dim kohta As Long ' haetaan List1:n kohta kohta = SendMessage(List1.hwnd, LB_GETTOPINDEX, 0, 0) ' muutetaan List2:n kohta SendMessage List2.hwnd, LB_SETTOPINDEX, kohta, 0 End Sub
Nyt List2 liikkuu samaan tahtiin kuin List1 skrollattaessa.
Hei kiitti paljon :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.