toolbar (dropdown)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

toolbar (dropdown)

Сообщение valk » 24.10.2005 (Пн) 9:25

Добрый день!
Вот такая ситуация. Есть toolbar на нем предположим есть две кнопки. Стиль кнопок dropdown. первая кнопка - редактировать, вторая удалить. Списки в кнопках одинаковые, т.е. там и там предположим: "пользователей" и "группы". не получается отловить нажатие на списке одной или другой кнопки. т.е при нажатии на "Удалить пользователя" появляется form del, а при "Редактировать пользователя" появляется form edit.
Получается отловить вызов события Click по тексту, но этот вариант не подходит. Надо по индексу. Так как Текст может быть одинаковый.
Помогите пожалуйста.
valk

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.10.2005 (Пн) 9:31

событие ButtonClick может надо обрабатывать...?

в него "передается" нажатая кнопка а дальше можно по индексу...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Сообщение valk » 24.10.2005 (Пн) 9:40

событие ButtonClick отслеживает нажатие кнопки, а здесь событие ButtonMenuClick. вот здесь и получается проблема. т.е. не получается отследить на какой кнопке происходит ButtonMenuClick
valk

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.10.2005 (Пн) 9:50

Задай каждому пункту меню Key да отлавливай, так даже удобней будет...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.10.2005 (Пн) 9:53

Слушай...
ButtonMenu.Parent.index - индекс кнопки "хозяина"
Пора уже всем хорошим людям собраться и убить всех плохих людей.

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 24.10.2005 (Пн) 10:07

Код: Выделить всё
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
MsgBox ButtonMenu.Parent.Index & " " & ButtonMenu.Index
End Sub

Ну и какой-нить СелектКейс
Душа болит... А лечишь её - печень болит!

valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Сообщение valk » 24.10.2005 (Пн) 10:13

вот почему то не получается.
я создал две кнопки.
первая: "вася"
"петя"
вторая: "коля"
"толя"

Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
Select Case ButtonMenu.Parent.Index
Case 1
' нажимаем на "вася"
Form2.Show
'форма открывается правильно

Case 2
' нажимаем на "петя
Form3.Show
'форма открывается не правильно

'зато нажимаем на "коля" или "толя" сробатывает Form3.Show

End Select
End Sub
valk

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 24.10.2005 (Пн) 10:24

Смотри пример.
Для каждого ButtonMenu в свойствах тулбара присвоен свой key.
Вложения
test.rar
(1.27 Кб) Скачиваний: 48
Душа болит... А лечишь её - печень болит!

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.10.2005 (Пн) 10:25

все правильно, что неправильно

Код: Выделить всё
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
Select Case ButtonMenu.Parent.Index
Case 1

  select case ButtonMenu.Index   
     case 1 ' нажимаем на "вася"
         Form2.Show
     case 2 'Петя
        Form3.Show
  end select

'форма открывается правильно

Case 2


'Здесь обработка "коля" или "толя"

End Select
End Sub
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 24.10.2005 (Пн) 10:29

Что-то вы все гоните. Всё прекрасно работает:
Код: Выделить всё
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)
MsgBox "Button index: " & ButtonMenu.Parent.Index & vbNewLine & _
"Button title: " & ButtonMenu.Parent.Caption & vbNewLine & _
"Menu index: " & ButtonMenu.Index, vbOKOnly
End Sub

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 24.10.2005 (Пн) 10:50

Ennor
И к чему это ты?
Собственно то же самое и говорили. Просто человеку лениво было посмотреть самому проперти и ему разъяснили.
Душа болит... А лечишь её - печень болит!

valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Сообщение valk » 24.10.2005 (Пн) 11:01

Смотри пример.
Для каждого ButtonMenu в свойствах тулбара присвоен свой key.

работает.
но все приходится делать через If ButtonMenu.Key = "olya" Then ....
а хотелось через индекс и select case.
Но все равно спасибо.
valk

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 24.10.2005 (Пн) 11:17

valk писал(а):но все приходится делать через If ButtonMenu.Key = "olya" Then ....
а хотелось через индекс и select case.

Вот ты странный человек. ButtonMenu.Key можно и с select case'oм использовать.
А Индекс неприятен тем, что ты не видишь чего там у тебя Select. А так написал в ключе типа "menu_edit_users" и всё понятно.
Душа болит... А лечишь её - печень болит!

valk
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 11.02.2002 (Пн) 18:09
Откуда: Ukraine

Сообщение valk » 24.10.2005 (Пн) 11:25

все нормально. всем большое спасибо.
valk

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 28.09.2007 (Пт) 14:53

Скажите пожалуйста, как менять размер кнопок в Toolbare? И возможно ли это?
Никак размер не могу изменить. А то надпись в низу кнопки, а остальное пустое пространство. Не красиво получается.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 28.09.2007 (Пт) 15:12

Размер кнопок зависит от размера используемых рисунков и надписи (если она есть).
Весь мир матрица, а мы в нем потоки байтов!

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 28.09.2007 (Пт) 19:28

Viper писал(а):Размер кнопок зависит от размера используемых рисунков и надписи (если она есть).

От рисунков то да. Но вот когда создаю кнопку и называю ее просто цифрой 1, то она вертикально вытягивается, а цифра в самом низу. На задание высоты и ширины не реагирует, все сбрасывает по умолчанию.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 29.09.2007 (Сб) 14:14

она вертикально вытягивается, а цифра в самом низу

я пофиксил так - положил в ImageList одну прозрачную картинку размерами 1х8 и прилинковал его к тулбару. конечно способ ламерский, погоди, щас сабклассинга насоветуют :lol:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Сообщение Saturn.65 » 29.09.2007 (Сб) 16:07

Нашел чудо-кнопку. Забудьте о проблемах установки toolbara.
Все очень просто, в любом месте формы. Кнопки с рисунками и без.Любые цветовые и объемные эффекты. Любые размеры.
Вложения
das_magicbutton_1.2.650.zip
Das_magicbutton_1.2.650
(47.34 Кб) Скачиваний: 50


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

    TopList