web development India freelance website designer
By: Paolo Marozzi, Ascoli Piceno, Italy
This code creates a smart input box. Every time you type something into this text box, the first
letters of your string are compared against the members of a hidden list box. The code guesses
how your string should be completed and finishes it for you, similar to how the latest versions of
Microsoft Excel and Internet Explorer behave.
To use this technique, add a list box to your form and set its Visible property to False. This
example fills the list at Form_Load with some likely selections. In a real app, you’d add a new
element to the list after each user entry is completed. Add this code to the form containing the
text and list boxes:


#If Win32 Then
Private Const LB_FINDSTRING = &H18F
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
#Else
Private Const WM_USER = &H400
Private Const LB_FINDSTRING = (WM_USER + 16)
Private Declare Function SendMessage Lib _
"User" (ByVal hWnd As Integer, ByVal _
wMsg As Integer, ByVal wParam As _
Integer, lParam As Any) As Long
#End If

Private Sub Form_Load()
List1.AddItem "Orange"
List1.AddItem "Banana"
List1.AddItem "Apple"
List1.AddItem "Pear"
End Sub

Private Sub Text1_Change()
Dim pos As Long
List1.ListIndex = SendMessage( _
List1.hWnd, LB_FINDSTRING, -1, ByVal _
CStr(Text1.Text))
If List1.ListIndex = -1 Then
pos = Text1.SelStart
Else
pos = Text1.SelStart
Text1.Text = List1
Text1.SelStart = pos

Text1.SelLength = Len(Text1.Text) - pos
End If
End Sub

Private Sub Text1_KeyDown(KeyCode As _
Integer, Shift As Integer)
'on error resume next
If KeyCode = 8 Then 'Backspace
If Text1.SelLength <> 0 Then
Text1.Text = Mid$(Text1, 1, Text1.SelStart - 1)
KeyCode = 0
End If
ElseIf KeyCode = 46 Then 'Del
If Text1.SelLength <> 0 And _
Text1.SelStart <> 0 Then
Text1.Text = ""
KeyCode = 0
End If
End If
End Sub

Typ-o-matic textbox

1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593

Freelance ASP PHP web development | Web developer India Web development India| Prayagasoft - web designer India, Ecommerce developer india, Ecommerce design