Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: тескт в Combobox'e
Форум программистов > Системное программирование > Visual Basic
Alex77777
В некоторых программах видел ComboBox, в котором нельзя вручную ввести текст в текстовое поле ComboBox`а, при этом при загрузке в данном поле тест уже есть, а также выбрать из списка ComboBox можно нажатием курсором на любое место ComboBoxа. Вопрос: как это сделать. Я пытался, но не получилось- либо можно выбрать из списка ComboBoxа нажатием на любое место ComboBoxа, при этом в текстовом поле ничего не будет отображаться в момент загрузки формы, оно пустое (свойство Style=2 – DropdownList), если же программно ввести в текстовое поле текст, то VB ругается – мол нельзя так, а в свойствах он просто не активен - там уже просто стоит имя ComboBox’a.
Либо текст в текстовое поле можно ввести программно (Comdo.Text = «надпись») или в свойствах прописать, при этом во время выполнения программы есть возможность писать в ComboBoxе (чего мне не надо), а выбрать из списка можно уже только нажатием на «треугольник», такая штука получается когда свойство Style=0 – DropdownCombo.
Помогите разобраться в этой штуке, возможно я просто не знаю еще какое-то свойство ComboBoxа.
LAW
Заполняешь ComboBox значениями, делаешь его DropDownList и ставишь свойство ItemIndex=0.
В результате видишь комбобокс с первым значением в поле и ввод с клавы не действует.
Alex77777
я не могу найти в окне свойств ItemIndex, вернее его там у меня нет, есть только ItemData, Index. пишу прогу на VB6.
LAW
К сожалению с VB6 никогда не имел дело. Вот что по поводу ItemIndex написано в C++ попробуйте поискать подобное по Вашему хэлпу.

Цитата
Indicates which item in the drop-down list is selected.

__property int ItemIndex = {read=GetItemIndex, write=SetItemIndex, nodefault};

Description

Read ItemIndex to determine which item in the list is the selected value in the combo box. This value appears in the edit box portion of the combo box. The first item in the list has index 0, the second item has index 1, and so on. If no item is selected, the value of ItemIndex is -1.

Write to ItemIndex to programmatically select an item from the list by passing in the index value.


Удачи
Alex77777
Спасибо и на этом, как вариант нужно покопаться в массивах, там вроде наподобие такого что-то видел.
Hetman
свойство, как ты уже понял, ставь так Style = 2 - Dropdown list
а вот код для примера
Private Sub Form_Load()

For i = 0 To 5
    Combo1.AddItem (i)
Next
Combo1.ListIndex = 1 ' это заменяет в VB свойство ItemIndex из с++
End Sub

я думаю когда попробуешь - поймёшь, что к чему
Alex77777
ты прав. потыкался-потыкался и разобрался что к чему.
Спасибо за помощь! rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.