Всплывающее меню

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

Всплывающее меню

Сообщение Лексей » 23.12.2004 (Чт) 12:23

Подскажите пожайлуста!
Я недавно только программирую в VB, так что может глупый вопрос - как организовать контекстное меню при нажатии правой кнопки мыши на элементе формы?
Заранее благодарен всем!

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

Сообщение Ennor » 23.12.2004 (Чт) 12:29

Form1.PopupMenu()

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 23.12.2004 (Чт) 12:34

и что дальше?

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 23.12.2004 (Чт) 13:16

Редактором меню создешь на форме меню c именем, допустим, mnuMain. Потом:
Код: Выделить всё
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbRightButton Then
  PopupMenu mnuMain
End If

End Sub

Это для формы. Для отдельного элемента прописываешь код в событии MouseDown этого элемента.

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 23.12.2004 (Чт) 13:24

на форме, которая должна быть меню, разместил одну кнопку и далее:
Ошибка - требуется элемент меню

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 23.12.2004 (Чт) 13:29

Меню создай. С соответствующим именем.
Если создал, значит неправильно написал его имя после PopupMenu/

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 23.12.2004 (Чт) 13:38

все работает. вопрос исчерпан.
Спасибо!

MVG
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 28.04.2004 (Ср) 15:07
Откуда: Одесса

Сообщение MVG » 23.12.2004 (Чт) 16:12

Возник вопрос, а можно ли брать меню не из формы (чтобы текст всплывающего меню не был отражёт в основном меню формы?)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.12.2004 (Чт) 16:17

Сделай меню невидимым...

ИЛИ

Топай в Наши проекты, там славный топик есть, PopupMenu2 называется...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 24.12.2004 (Пт) 1:36

А кто-нибудь загружал меню из RES-файла?
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.12.2004 (Пт) 6:20

А зачем? :roll:
Ну, можно...
Только сначала его придётся туда засунуть :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Лексей
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 121
Зарегистрирован: 03.08.2004 (Вт) 6:50
Откуда: Екатеринбург

Сообщение Лексей » 27.12.2004 (Пн) 12:41

А как можно динамически блокировать некоторые строки меню в зависимости от состояния объекта, по которому щелкнули?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.12.2004 (Пн) 12:45

Код: Выделить всё
mnuFiles.Enabled=False


примерно так

SHURUP
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 440
Зарегистрирован: 15.09.2004 (Ср) 14:24
Откуда: Ирпень, Украина

Сообщение SHURUP » 29.12.2004 (Ср) 2:24

Я писал(а):А кто-нибудь загружал меню из RES-файла?

GSerg писал(а):А зачем? :roll:
Ну, можно...
Только сначала его придётся туда засунуть :)

Засунуть непроблема (например с помощью ресторатора или подобного софта). А вот на вопрос "Зачем" - отвечу:
1) Для приложений на нескольких языках
2) Хочу в своей проге использовать "стандартное" или "нестандартное" меню - в этом случае удобно было в зависимости от выбора юзеря (или из других объективных причин) рисовать определенное меню (из ресурса)
3) Чисто из интереса можно ли это сделать вообще на Visualasic-e (на будущее)
Нам чужого не надо, но своё мы возьмем, чьё бы оно ни было...


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

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

Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 8

    TopList