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

-
-
- Сообщения: 59
- Зарегистрирован: 11.02.2002 (Пн) 18:09
- Откуда: Ukraine
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 Кб) Скачиваний: 51
Душа болит... А лечишь её - печень болит!
-
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

-

-
- Сообщения: 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 наук

-

-
- Сообщения: 2734
- Зарегистрирован: 07.11.2006 (Вт) 13:55
- Откуда: Ейск, Краснодарский край
-
Денис » 29.09.2007 (Сб) 14:14
она вертикально вытягивается, а цифра в самом низу
я пофиксил так - положил в ImageList одну прозрачную картинку размерами 1х8 и прилинковал его к тулбару. конечно способ ламерский, погоди, щас сабклассинга насоветуют

Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot], PetalBot, Yandex-бот и гости: 12