Hej er et lille eksempel på hvordan det kan lade sig gøre. Jeg har dog brugt en combobox: 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 Const CB_ERR = (-1) Const CB_FINDSTRING = &H14C
Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim CB As Long Dim FindString As String
If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub
If Combo1.SelLength = 0 Then FindString = Combo1.Text & Chr$(KeyAscii) Else FindString = Left$(Combo1.Text, Combo1.SelStart) & Chr$(KeyAscii) End If
Ja din kode ligner noget af det som jeg prøver at få fat i, men har du prøvet den selv?? Man kan kun skrive det som er \"add´et\" til combooxen, og ikke andet.Sjov ikke :)!!!!
Ja jeg har naturligvis prøvet den rutine som jeg har foreslået som løsning - det gør jeg iøvrigt altid. Jeg har givet dig et eksempel. Du skal naturligvis selv indsætte nye ord og andre ord i din combobox - det er jo nemt nok. Det gøres med Combo1.AddItem nyt ord.
Har du problemer med at tilføje nye ord må du jo vende tilbage. Du kan evt også beskrive den funktionalitet du ønsker lidt nærmere. Hvilken hændelse skal eksempelvis føre til at ordlisten - som skal kunne huskes - bliver udvidet. Er det fx når man trykker på enten-tasten ????. Har du fået løst dit problem ??
Du kender godt den funktion som er indbygget i Internet Exploreren i Windows??
Så snart at man skriver sit første bogstav om det så er et \"w\" eller bare et \"g\", så finder den altid de andre brugte web adresser ude på internettet.
Eks...
Hvis du starter med at skrive \"w\" så kommer den med alle de muligheder der starter med \"w\".
Prøv med denne rutine. Her tilføjes nye ord til listen når du taster enter. Næste gang kommer ordet frem når et eller flere bogstaver indtastes: 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 Const CB_ERR = (-1) Const CB_FINDSTRING = &H14C
Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim CB As Long Dim FindString As String \'----------Tilføjer indhold af combo1.text når der tastes enter If KeyAscii = 13 And Combo1.Text <> \"\" Then FindString = Combo1.Text CB = SendMessage(Combo1.hwnd, CB_FINDSTRING, -1, ByVal FindString) If CB <> CB_ERR Then Exit Sub End If Combo1.AddItem FindString Exit Sub End If \'-------- If KeyAscii < 32 Or KeyAscii > 127 Then Exit Sub
If Combo1.SelLength = 0 Then FindString = Combo1.Text & Chr$(KeyAscii) Else FindString = Left$(Combo1.Text, Combo1.SelStart) & Chr$(KeyAscii) End If
Det var jo lige det som jeg tænkte på tal for hjælpen :)
Synes godt om
Ny brugerNybegynder
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.