Главная страницаОбратная связьКарта сайта

Создание автоматического поля текста



Option Explicit

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

Private Sub Form_Load()
List1.AddItem "Апельсин"
List1.AddItem "Банан"
List1.AddItem "Яблоко"
List1.AddItem "Персик"
List1.AddItem "Ананас"
List1.AddItem "Авокадо"
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
KeyCode = 0
End If
End If
End Sub

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Создание автоматического поля текста", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2022 Дискета.info