Уважаемый Йода у меня не рабоатет? Я пытал этот код, но ничего не получается (даже вставлял вызов функции AutoFillCombo в событие PressKey у ComboBox).
Есть кто может мне разжувать - буду благодароен? Я сам не силен в VB, особенно когда применяется библиотека "user32".
Где почитать про нее?
В кратце еще раз опишу проблему.
у меня в форме есть 3 элемента ComboBox.
2 заполнены английские терминами (латинский шрифт) Combo1 и Combo2, а 1 рускими терминами (кирилица) Combo3.
Все три эелемента при загрузке формы заполняеются значениями порядка 10-100 в каждом.
Фокус падает на Combo1, я нажимаю клавишу с буквой латинского алфавита и идет автоподстановка с первой буквой которую я нажал, второе нажатие клавиши и далее ищет совпадение по второму символу при условии что первый ужен назначен и т.д. - я думаю все поняли. Это поисходит автоматом.
Combo3 - не работает так, т.к. данными на русском.
Хочу что бы в Combo3 сделано было как в Combo1 и Combo2.
Вот код по ссылке переделанный под мою фому:
Option Explicit
Private Const CB_FINDSTRING = &H14C&
Private Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)
Private LastComboKeyAscii&
Sub AutoFillCombo(Combo As ComboBox)
Dim I&, P&
I = SendMessage(Combo.hWnd, CB_FINDSTRING, -1, ByVal Combo.Text) + 1
If I > 0 Then
P = Combo.SelStart
Combo.ListIndex = I - 1
Combo.SelStart = P
Combo.SelLength = Len(Combo.Text) - P
End If
End Sub
Private Sub Combo3_Change()
If Not (LastComboKeyAscii =

And Not (LastComboKeyAscii = 46) Then AutoFillCombo Combo3
LastComboKeyAscii = 0
End Sub
Private Sub Combo3_KeyDown(KeyCode As Integer, Shift As Integer)
LastComboKeyAscii = KeyCode
End Sub
Ничего не происходит!
Я назначил вызов функции AutoFillCombo на событие PressKey, но функция не работает.
Я сделал точку остановки в AutoFillCombo, оказалось что аргумент Combo = "", хотя
описано AutoFillCombo Combo3.
В чем проблема. Помогите.
Кто ищет, тот всегда найдет ...