powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен совет по комбо
11 сообщений из 11, страница 1 из 1
Нужен совет по комбо
    #33738216
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу попробовать, реализовать открывающийся список наденных элементов
при вводе начальных букв слова в текстовом поле, как реализовано в VB при написании кодов типа Auto List members. Без API не обойтись но как заставить комбо раскрываться там где установлен курсор. если юзать комбо то придется показывать или скрывать контрол взависимости от набора клашишь Ctrl+Space, как передать x,y координаты курсора комбо, что бы комбо автоматом выводил список по линии курсора.
Возможно ли это реализовать и как?
Заранее спасибо
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738244
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то здесь http://www.vbcity.com/forums/topic.asp?tid=5568
К сожалению, vb6 уже нет :), так что проверить не могу.
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738308
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andres 1что-то здесь http://www.vbcity.com/forums/topic.asp?tid=5568
К сожалению, vb6 уже нет :), так что проверить не могу.
спасибо за ссылку но не смог скачать класс придуманный челом (форум требует регится), пробовал за регится пока нет результатов.
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738370
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это не подойдет?
Код: plaintext
1.
Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738380
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesА это не подойдет?
Код: plaintext
1.
Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

Это же курсор мыши? Не подойдет. Если человек делает свой Intellisense - мышь может быть вообще на другом рабочем столе - на втором мониторе, а комбобокс, например, вываливается по Ctrl+Space.
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738392
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это может помочь: http://www.devx.com/vb2themax/Tip/19269
Потом нужно будет поиграть с API функцией GetTextMetrics чтобы перевести строки/символы в координаты.
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738442
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно. Попробовал и никакой проблемы не увидел.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeySpace And Shift = vbCtrlMask Then
        Combo1.Move Text1.Left + Me.TextWidth(Text1.Text), Text1.Top + Me.TextHeight(Text1.Text)
        Combo1.Visible = True
    Else
        Combo1.Visible = False
    End If
End Sub
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738454
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkiadesСтранно. Попробовал и никакой проблемы не увидел.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeySpace And Shift = vbCtrlMask Then
        Combo1.Move Text1.Left + Me.TextWidth(Text1.Text), Text1.Top + Me.TextHeight(Text1.Text)
        Combo1.Visible = True
    Else
        Combo1.Visible = False
    End If
End Sub

И в самом деле, полезные функции. Прямо хоть снова на Vb6 перебирайся :)
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738492
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1 MelkiadesСтранно. Попробовал и никакой проблемы не увидел.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeySpace And Shift = vbCtrlMask Then
        Combo1.Move Text1.Left + Me.TextWidth(Text1.Text), Text1.Top + Me.TextHeight(Text1.Text)
        Combo1.Visible = True
    Else
        Combo1.Visible = False
    End If
End Sub

И в самом деле, полезные функции. Прямо хоть снова на Vb6 перебирайся :)
А что, в аксессе такого нет?
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738537
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо отличное решение.
Me.TextWidth как я понимаю просчитывает длину текста
не множко не корректо выводит при моногострочном режиме, но можно подрегулировать
век живи век учись!!!
Еще вопрос как урезать комбо что бы показывать только лист ?
...
Рейтинг: 0 / 0
Нужен совет по комбо
    #33738635
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkiades
И в самом деле, полезные функции. Прямо хоть снова на Vb6 перебирайся :)
А что, в аксессе такого нет?[/quot]
В аксессе, кажется, нет. А вообще-то перебираюсь на C#. Пока - очень неплохо. Но очень уж много всего понапихано во Framework :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен совет по комбо
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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