Vet någon hur man kan åstadkomma så att det går att "multisteppa" i en combo box? <code> Fungerar fint, MEN jag vill att det skall funka då boxen har style 2 och är READ-ONLY. Det är lite knepigare... Hoppa rätt i combo box
T ex: boxen innehåller bl a orterna "stenungsund" och "stockholm". Om jag i boxen trycker på "s" så hamnar jag automatiskt på första orten på s (i detta fall "stenungsund"). Men säg att jag vill fortsätta och skriver ett "t" för att att hamna på "STockholm", så går ju ej det utan tar mig till en ort som börjar på "t" istället.
Vill att det skall fungera som "type-ahead:en" i t ex VisualBasic alltså...
Tacksam!Sv: Hoppa rätt i combo box
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal uMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Const CB_FINDSTRING = &H14C
Private Const CB_ERR = -1
Private m_GoBack As Boolean
Private Sub Combo1_Change()
Dim someText As String, i As String, j As Integer
If m_GoBack Then
m_GoBack = False
Exit Sub
End If
With Combo1
someText = .Text
i = SendMessage(.hWnd, CB_FINDSTRING, -1, ByVal someText)
If i <> CB_ERR Then
strTotal = .List(i)
j = Len(strTotal) - Len(someText)
If j <> 0 Then
m_GoBack = True
.SelText = Right(strTotal, j)
.SelStart = Len(someText)
.SelLength = j
End If
End If
End With
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyDelete
m_GoBack = True
Case vbKeyBack
m_GoBack = True
End Select
End Sub
Private Sub Form_Load()
Combo1.AddItem "Sverige"
Combo1.AddItem "SydKorea"
Combo1.AddItem "SydAfrika"
Combo1.AddItem "SydAmerika"
Combo1.AddItem "Stockholm"
Combo1.AddItem "Strömsnäsbruk"
Combo1.AddItem "Tyringe"
Combo1.AddItem "Trelleborg"
End Sub
</code>
Detta är förmodligen inte det bästa sättet man kan lösa det på, men det fungerar åtminstone.
/MichaelSv: Hoppa rätt i combo box
Några förslag?