Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Высота combobox / 4 сообщений из 4, страница 1 из 1
24.07.2008, 18:40
    #35450533
Dick Johnson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота combobox
Есть у меня на форме поле "серия документа" которое нужно выбирать из списка. т.к. поле короткое и места на форме немного, то использовать combobox со стилем Dropdown Combo или Dropdown List не очень удобно т.к. треугольничек закрывает один символ. Я ставлю стиль Simple Combo и хочу что бы по нажатию на Enter высота comboboxa увеличивалась и отображала весь писок, а после выбора обратно сворачивалась до размеров текстового поля.
использую такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Combo1_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc(vbCr) Then
        If Combo1.Height >  315  Then
            Combo1.Height =  315 
        Else
            Combo1.Height =  207  * Combo1.ListCount +  315 
        End If
    End If
End Sub

Проблема в том, что размер изменяется только в сторону увеличения и упорно отказывается уменьшать. Хотя в режиме отладки вижу, что программа реагирует на все события и проходит через строку
Код: plaintext
Combo1.Height =  315 
но свойство не изменяется. Может есть способы?
Или не выделываться и перекорячить форму, что бы все влезло с учетом треугольника на Dropdown Combo.
...
Рейтинг: 0 / 0
24.07.2008, 22:33
    #35450825
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота combobox
Я отказался от стандартных контролов VB и использую MSFORMS - они куда более функциональны...
...
Рейтинг: 0 / 0
28.07.2008, 16:23
    #35455889
Dick Johnson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота combobox
GrayscaleЯ отказался от стандартных контролов VB и использую MSFORMS - они куда более функциональны... так в MSFORMS комбобокс конечно поинтереснее, чем стандартный, но все равно не позволяет сделать то что я хочу.
Может есть какой-то другой контрол, который выглядел бы как стандартное текстовое поле, но при клике позволял бы выбрать из списка?
...
Рейтинг: 0 / 0
20.08.2008, 21:38
    #35498033
Dick Johnson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота combobox
Grayscale , Спасибо. Нем7ного покопался в свойствах и таки добился нужного. Правда вылез какой-то глюк: в этот комбобокс нельзя внести кирилические названия с клавиатуры. Т.е. если что-то что вносится программно то русские буквы отображаются буквами, а если с клавиатуры, то отображаются квадратики как бывает когда шрифт не поддерживает кирилицу. Но шрифт-то стандартный MS Sans Serif. Ради экперимента даже написал строчку что бы при вводе в текстовое поле в комбобоксе дублировался текст
Код: plaintext
1.
2.
Private Sub Text1_Change()
    ComboBox1.Text = Text1.Text
End Sub
так вот в таком случае все отлично отображается. А что нужно сделать, что бы напрямую в комбобоксе писать по русски?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Высота combobox / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]