Динамическая загрузка комбобокса
От: USSD  
Дата: 06.08.02 15:46
Оценка:
Народ!

Подскажите, как динамически загрузить в форму комбобокс со свойством Style = 2 (Dropdown List).
По умолчанию, контрол грузится с Style = 0 (Dropdown Combo). Изменение этого свойства во время выполнения не представляется возможным (свойство доступно для редактирования только в режиме дизайна формы). Возможно кто-то знает обходные пути.
Буду очень благодарен за подсказку.

Вот фрагмент кода, выполняющего указанные действия:

Private WithEvents m_ComboBox As VB.ComboBox


Sub LoadControls()
...
Set m_ComboBox = colControls.Add("VB.ComboBox", m_MainCtlName)
'm_ComboBox.Style = 2 'а вот так нельзя :(( ... да уж больно хочется
...
End Sub
Re: Динамическая загрузка комбобокса
От: Mout1 США  
Дата: 06.08.02 19:18
Оценка:
Как вариант — создай User Control и помести в него нужный комбобокс с нужными настройками. После этого можешь добавлять его в рантайме сколько угодно.

WBR, Mout
Re[2]: Динамическая загрузка комбобокса
От: USSD  
Дата: 07.08.02 13:44
Оценка:
Спасибо за совет.
Это, конечно, вриант, но тогда на форме появится MyComboBox, а не ComboBox.
Как вариант, можно еще создать массив контролов из одного элемента с нужными настройками и сделать этот элемент невидимым, а потом загружать новые видимые элементы в массив. При этом все элементы будут иметь одинаковое имя (но разный Index). В конце концов можно блокировать ввод с клавиатуры для комбобокса, у которого Style = 0.
Но мне интересна именно возможность загрузить комбобокс с нужными настройками и с произвольным (допустимым) именем. Может кто-то знает. Подозреваю, что можно как-то переключить контрол в Design Mode через базовые интерфейсы контролов. Ведь бейсик делает это.
Re[3]: Динамическая загрузка комбобокса
От: Mout1 США  
Дата: 07.08.02 13:56
Оценка:
Здравствуйте USSD, Вы писали:

USSD>Как вариант, можно еще создать массив контролов из одного элемента с нужными настройками и сделать этот элемент невидимым, а потом загружать новые видимые элементы в массив. При этом все элементы будут иметь одинаковое имя (но разный Index). В конце концов можно блокировать ввод с клавиатуры для комбобокса, у которого Style = 0.




USSD>Но мне интересна именно возможность загрузить комбобокс с нужными настройками и с произвольным (допустимым) именем. Может кто-то знает. Подозреваю, что можно как-то переключить контрол в Design Mode через базовые интерфейсы контролов. Ведь бейсик делает это.


Если выяснишь как — свисти Мне не удалось решить проблему таким образом — посему я пошел по пути наименьшего сопротивления
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.