Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+) / 11 сообщений из 11, страница 1 из 1
10.04.2007, 11:50
    #34449472
Sergey057
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
... то есть возникла потребность написать код, который сэмулирует левый клик мыши на стрелке комбобокса...
MS VB 6.0
...
Рейтинг: 0 / 0
10.04.2007, 11:58
    #34449505
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Да, пожалуйста:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Option Explicit
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_SHOWDROPDOWN = &H14F

Public Function DropDown(ByRef obj As Object)
Dim ret As Long
    ret = SendMessage(obj.hwnd, CB_SHOWDROPDOWN,  1 , ByVal  0 &)
End Function

Private Sub Command1_Click()
    Me.DropDown Me.Combo1
End Sub

Private Sub Form_Load()
Dim i As Integer

With Me.Combo1
    .Clear
    For i =  1  To  10 
        .AddItem "Item " & i
    Next i
    .ListIndex =  0 
End With

End Sub
...
Рейтинг: 0 / 0
10.04.2007, 12:04
    #34449525
бульбашъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Konst_OneДа, пожалуйста:



А если нет формы ?
DropDown создан прямо на на листе EXCEL
...
Рейтинг: 0 / 0
10.04.2007, 12:07
    #34449537
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
тогда не выйдет, так как это не контрол в прямом понимании, т.е. он не имеет hwnd
...
Рейтинг: 0 / 0
10.04.2007, 12:20
    #34449591
Старый ворчун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
бульбашъDropDown создан прямо на на листе EXCEL
как?
...
Рейтинг: 0 / 0
10.04.2007, 12:25
    #34449610
Sergey057
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Спасибо, как раз то, что надо
...
Рейтинг: 0 / 0
10.04.2007, 13:19
    #34449804
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Konst_Oneтогда не выйдет, так как это не контрол в прямом понимании, т.е. он не имеет hwnd
можно обойтись и без hwnd
активизировать combobox и послать команду "F4"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub CommandButton1_Click()
    Dim xlSh As Worksheet
    Set xlSh = Sheets("Лист2")
    xlSh.Select
    xlSh.OLEObjects("ComboBox1").Activate
    Application.SendKeys "{F4}"

End Sub
...
Рейтинг: 0 / 0
10.04.2007, 13:57
    #34449961
Старый ворчун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
vkodor Konst_Oneтогда не выйдет, так как это не контрол в прямом понимании, т.е. он не имеет hwnd
можно обойтись и без hwnd
активизировать combobox и послать команду "F4"

Вы используете MSForms.Comobox. Зачем тогда SendKeys?
У MSForms.Comobox есть метод DropDown.

Возможно, что автор топика использовал элемент MS Excel ComboBox (DropDown)
...
Рейтинг: 0 / 0
10.04.2007, 15:37
    #34450346
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
бульбашъ Konst_OneДа, пожалуйста:



А если нет формы ?
DropDown создан прямо на на листе EXCEL


Я писал применительно к своему коду , вставленному ранее, согласно указанной фразе.
...
Рейтинг: 0 / 0
10.04.2007, 17:34
    #34450763
бульбашъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Konst_One бульбашъ Konst_OneДа, пожалуйста:



А если нет формы ?
DropDown создан прямо на на листе EXCEL


Я писал применительно к своему коду , вставленному ранее, согласно указанной фразе.

DropDown создан так
set DD=activesheet.DropDowns.Add(.....)

как яго сабаку раскрыть праграмна
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
03.05.2008, 13:48
    #35291009
slonce
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+)
Вопрос не совсем по теме: если есть два объекта ComboBox, данные в которые забрасываются из БД, причем эти данные взаимосвязаны между собой (наименование и код). Как сделать так, чтобы при выборе в одном из ComboBox конкретного значения (например названия) во втором ComboBox появлялось соответствующее ему второе значение (код) и наоборот? Спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Уважаемые коллеги, есть вопрос - можно ли программно развернуть ComboBox? (+) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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