тескт в Combobox'e

  • Автор темы Alex77777
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Alex77777

#1
В некоторых программах видел ComboBox, в котором нельзя вручную ввести текст в текстовое поле ComboBox`а, при этом при загрузке в данном поле тест уже есть, а также выбрать из списка ComboBox можно нажатием курсором на любое место ComboBoxа. Вопрос: как это сделать. Я пытался, но не получилось- либо можно выбрать из списка ComboBoxа нажатием на любое место ComboBoxа, при этом в текстовом поле ничего не будет отображаться в момент загрузки формы, оно пустое (свойство Style=2 – DropdownList), если же программно ввести в текстовое поле текст, то VB ругается – мол нельзя так, а в свойствах он просто не активен - там уже просто стоит имя ComboBox’a.
Либо текст в текстовое поле можно ввести программно (Comdo.Text = «надпись») или в свойствах прописать, при этом во время выполнения программы есть возможность писать в ComboBoxе (чего мне не надо), а выбрать из списка можно уже только нажатием на «треугольник», такая штука получается когда свойство Style=0 – DropdownCombo.
Помогите разобраться в этой штуке, возможно я просто не знаю еще какое-то свойство ComboBoxа.
 
L
#2
Заполняешь ComboBox значениями, делаешь его DropDownList и ставишь свойство ItemIndex=0.
В результате видишь комбобокс с первым значением в поле и ввод с клавы не действует.
 
A

Alex77777

#3
я не могу найти в окне свойств ItemIndex, вернее его там у меня нет, есть только ItemData, Index. пишу прогу на VB6.
 
L
#4
К сожалению с 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.
Удачи
 
A

Alex77777

#5
Спасибо и на этом, как вариант нужно покопаться в массивах, там вроде наподобие такого что-то видел.
 
H

Hetman

#6
свойство, как ты уже понял, ставь так Style = 2 - Dropdown list
а вот код для примера
Код:
Private Sub Form_Load()

For i = 0 To 5
Combo1.AddItem (i)
Next
Combo1.ListIndex = 1 ' это заменяет в VB свойство ItemIndex из с++
End Sub
я думаю когда попробуешь - поймёшь, что к чему
 
A

Alex77777

#7
ты прав. потыкался-потыкался и разобрался что к чему.
Спасибо за помощь! <_<
 
Статус
Закрыто для дальнейших ответов.