ComboBox: Style = "2 - Dropdown List"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

ComboBox: Style = "2 - Dropdown List"

Сообщение dima81 » 20.09.2007 (Чт) 12:49

А как при таком стиле найти конкретную запись? Поясню:

например у меня в Combobox есть 100 записей. Мне нужно, чтобы при загрузке формы появилась запись Bolt. Как я понял надо писать Combo1.ListIndex = номер. Но я же не знаю под каким номером стоит запись Bolt в Combo1.

Как решить проблему? Помогите.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 20.09.2007 (Чт) 13:10

Ну как вариант - перебирай, список и ищи нужную запись, а потом просто выбирай ее и все.
I don't understand. Sorry.

dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

RayShade

Сообщение dima81 » 20.09.2007 (Чт) 15:33

RayShade, подскажите, как это правильно сделать. А то я этим никогда не занимался

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 20.09.2007 (Чт) 17:44

Не, лучше не перибирать, лучше вот так:
Код: Выделить всё
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 Const CB_FINDSTRING = &H14C

Private Sub Command1_Click()
    Dim txtYourText As String
    Dim lngIndex As Long
    txtYourText = "Text" 'здесь твой текст
    lngIndex = SendMessage(Combo1.hwnd, CB_FINDSTRING, -1, ByVal txtYourText)
    Combo1.ListIndex = lngIndex
End Sub
Salus populi suprema lex

dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

Сообщение dima81 » 20.09.2007 (Чт) 21:33

dr.MIG, работает. Спасибо. Но только надо вроде из объявления функции As Long убрать. По крайней мере у меня программа только после этого заработала. Хотя точно не знаю.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 21.09.2007 (Пт) 7:10

dima81 писал(а):dr.MIG, работает. Спасибо. Но только надо вроде из объявления функции As Long убрать. По крайней мере у меня программа только после этого заработала. Хотя точно не знаю.

Это в каком это месте надо As Long убрать???? Не может быть такого!
Весь мир матрица, а мы в нем потоки байтов!

dima81
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 26.08.2007 (Вс) 22:36

Сообщение dima81 » 21.09.2007 (Пт) 10:43

Viper, моя ошибка. Прсто я использую & - а это и есть Long

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 23.09.2007 (Вс) 18:24

Можно просто Combo1 = "Bolt", если он у тебя Dropdown List


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 23

    TopList