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

Это же курсор мыши? Не подойдет. Если человек делает свой Intellisense - мышь может быть вообще на другом рабочем столе - на втором мониторе, а комбобокс, например, вываливается по Ctrl+Space.
...
Рейтинг: 0 / 0
19.05.2006, 13:09
    #33738392
Andres 1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по комбо
Это может помочь: http://www.devx.com/vb2themax/Tip/19269
Потом нужно будет поиграть с API функцией GetTextMetrics чтобы перевести строки/символы в координаты.
...
Рейтинг: 0 / 0
19.05.2006, 13:23
    #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
19.05.2006, 13:25
    #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
19.05.2006, 13:31
    #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
19.05.2006, 13:38
    #33738537
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по комбо
Спасибо отличное решение.
Me.TextWidth как я понимаю просчитывает длину текста
не множко не корректо выводит при моногострочном режиме, но можно подрегулировать
век живи век учись!!!
Еще вопрос как урезать комбо что бы показывать только лист ?
...
Рейтинг: 0 / 0
19.05.2006, 14:00
    #33738635
Andres 1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен совет по комбо
Melkiades
И в самом деле, полезные функции. Прямо хоть снова на Vb6 перебирайся :)
А что, в аксессе такого нет?[/quot]
В аксессе, кажется, нет. А вообще-то перебираюсь на C#. Пока - очень неплохо. Но очень уж много всего понапихано во Framework :)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен совет по комбо / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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