СообЧа > База Знаний > Программирование > Visual Basic > Формы и элементы управления

Вопрос

Для поиска строки в списке (контрол такой) я поступаю так:
Const LB_FINDSTRINGEXACT = &H1A2
Private Declare Function SendMessageByString& Lib "user32" Alias
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As
Long, ByVal lParam As String).
hw& = Combo1.hWnd
t& = SendMessageByString&(hw&, LB_FINDSTRINGEXACT, -1, "string")

Если t& = -1, тогда нет строки…

Все работает на отлично. Когда я использую это же для поиска в DataCombo, то ничегошеньки у меня не выходит. Наверное, значение константы LB_FINDSTRINGEXACT надобно поменять. Подскажите, на что ее заменить (если надо) или расскажите, каким образом найти строку в DataCombo (желательно с помощью API).

Ответ

Все очень просто, нужно просто поменять на:

Private Const CB_FINDSTRING = &H14C
Private Const CB_FINDSTRINGEXACT = &H158
CB — означает ComboBox
LB — означает ListBox

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация