Jag vill kunna använda piltangeterna på en listbox som inte har fokus. Om inte ListBoxen har fokus så kan den heller inte känna av tangentnedtryckningarna... Prova detta "pappsen" Lägg koden i den kontroll som skall ha focus när du navigerar upp och ner. T.Ex. Text1. Annars kan du lägga koden i formuläret och sätta keypreview till true: Tack Andreas pålitlig som vanligt.Piltangent till listbox som inte har fokus(LÖST)
Jag vet att jag måste ha vbKeyDown men var när hur kopplar jag detta.
Någonting så här tror jag att det borde vara, men det fattas ju en del...
Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyAscii = 40 Then
'vbKeyDown
End If
End Sub
Några förslagSv: Piltangent till listbox som inte har fokus
Antingen får du 'lyssna' efter ´tangenttryckningar på Listboxens container, (formuläret: Form_KeyDown...) eller så får du väl använda API-anrop eller nå't för att lyssna på events och sedan köra kod beroende på vad användaren gör...
Frågan är VILL du verkligen styra Listboxen när den inte har fokus?! Det är ju inte direkt Microsoft standard att göra så, och oftast är det enklast att hålla sig till standarden (även om den ibland är dålig), detta för att det förenklar för användaren att köra programmet...
Lycka till!
// QezSv: Piltangent till listbox som inte har fokus
<code>
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDown Then
List1.SetFocus
End If
End Sub
</code>Sv: Piltangent till listbox som inte har fokus
<code>
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
If List1.ListIndex > 0 Then
List1.ListIndex = List1.ListIndex - 1
Else
Beep
End If
Case vbKeyDown
If List1.ListIndex < List1.ListCount - 1 Then
List1.ListIndex = List1.ListIndex + 1
Else
Beep
End If
End Select
End Sub
</code>Sv: Piltangent till listbox som inte har fokus
Det var precis det här som jag var uteför.
Rosor och chockolad till dig.