Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автозаполнение в Combobox / 3 сообщений из 3, страница 1 из 1
20.05.2013, 02:49
    #38263912
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение в Combobox
Нарисовали на форме Combobox
Style = 0 (Dropdown Combo)
Засунули в List (List) несколько значений - да хоть в конструкторе, хоть кодом

200
...
Рейтинг: 0 / 0
20.05.2013, 02:55
    #38263913
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение в Combobox
Блин, Ctrl+<ENTER> оказался тут лишним.

Дык вот.
Нарисовали на форме Combobox
Style = 0 (Dropdown Combo)
Засунули в List (List) несколько значений - да хоть в конструкторе, хоть кодом

200
300
400
500

Запустили программу. Начинаем писать в Combobox.
Пишем 5
Хочу чтоб дописал
Код: vbnet
1.
500


Т.е. подставил значение из (List) и "подстветил" оставшиеся буквы-цифры.

Всю жизнь думал что он делает это автоматически - оказывается в стандартном режиме нет.

Вопрос наверно простой. Как сделать, чтоб автозаполнение работало.
Без извращений, ясно дело.
...
Рейтинг: 0 / 0
20.05.2013, 04:20
    #38263927
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автозаполнение в Combobox
Как то так:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Option Explicit

Private LastComboKeyAscii As Integer

Private Sub AutoFillCombo(Combo As ComboBox)
  Dim init_text As String
  Dim j As Integer
  Dim SC As Integer

  init_text = Combo.Text
  If init_text = "" Then Exit Sub
  SC = Combo.ListCount
  If SC = 0 Then Exit Sub
  For j = 0 To SC - 1
    If Left(Combo.List(j), Len(init_text)) = init_text Then
      Combo.Text = Combo.List(j)
      Combo.SelStart = Len(init_text)
      Combo.SelLength = Len(Combo.Text) - Len(init_text)
      Exit Sub
    End If
  Next
End Sub

Private Sub Combo1_Change()
  If Not (LastComboKeyAscii = 8) And Not (LastComboKeyAscii = 46) And Not (LastComboKeyAscii = 0) Then AutoFillCombo Combo1
  LastComboKeyAscii = 0
End Sub

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
  LastComboKeyAscii = KeyCode
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Автозаполнение в Combobox / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]