Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Менюшки, Три вопроса по меню в VB 
:(
    Опции темы
Aq1982
Дата 14.1.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 1.1.2005

Репутация: 1
Всего: 1



И снова здраствуйте smile
Озадачу вас еще несколькими вопросами.
1. как добавить в менюшку в VB разделитель?

2. У меня backcolor формы белый. добавляю меню и сама строка меню серая. А если раскрыть менюшки то их основа белая. Как избавиться от серого цвета

3. Как добавить контекстное меню

Заранее огромное спасибо
PM MAIL   Вверх
korob2001
Дата 14.1.2005, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

1. как добавить в менюшку в VB разделитель?

Точно также как и любую кнопку меню, только в поле Caption укажи такой символ "-", кавычки естественно, не нужны. Кстати поле имя, не должно остаться пустым. Потому в поле Name, тоже укажи какое нибудь имя.
Цитата

3. Как добавить контекстное меню

Сначала создай обычное меню, затем убери галочку Visible раздела, который хочешь сделать в контекстном меню. Допустим мы хотим сделать раздел File в контекстном меню при щелчке правой кнопкой мыши на форме Form1.
Теперь для формы выбираем событие MouseDown и пишем такой код:
Код

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbRightButton Then
       Form1.PopupMenu mnuFile
   End If
End Sub

Методу PopupMenu передаём имя того раздела, который хотим вывести в контекстном меню. Только обязательно нужно убрать галочку свойства Visible раздела mnuFile.

Если не понял дай знать, опишу подробнее.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
-Mikle-
Дата 15.1.2005, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Цитата(korob2001 @ 15.1.2005, 00:28)
Только обязательно нужно убрать галочку свойства Visible раздела mnuFile.

Не обязательно. Это нужно сделать только если контекстное меню не должно отображаться вверху. Иногда и такое требуется, например меню Edit


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
korob2001
Дата 15.1.2005, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

Не обязательно. Это нужно сделать только если контекстное меню не должно отображаться вверху. Иногда и такое требуется, например меню Edit

Я вообще-то не пробовал, но в книге было написано, обязательно и даже было выделено жирным шрифтом. Когда поподу домой, обязательно попробую.
Но всё же спасибо.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
-Mikle-
Дата 15.1.2005, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Приди, попробуй и все получится smile

Цитата(korob2001 @ 15.1.2005, 16:01)
Но всё же спасибо

Конечно же незачто!!! smile


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Aq1982
Дата 15.1.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 1.1.2005

Репутация: 1
Всего: 1



Спасибо огромное! А вот еще вопрос. Как из кода добавить пункт меню. Главного или контекстного.
PM MAIL   Вверх
korob2001
Дата 15.1.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

А вот еще вопрос. Как из кода добавить пункт меню. Главного или контекстного

Попробуй установи изначально свойство Visible=False этого пункта, а затем когда понадобится устанавливай в True.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Aq1982
Дата 15.1.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 1.1.2005

Репутация: 1
Всего: 1



не, не пойдет. Я не знаю заранее какие там будут пункты
PM MAIL   Вверх
korob2001
Дата 15.1.2005, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: нет
Всего: 61



Цитата

не, не пойдет. Я не знаю заранее какие там будут пункты

Только что попробовал, вроде получилось:
1. Открой окно Menu Editor
2. Создай кнопку меню верхнего уровня:
Caption = File
Name = mnuFile
3. Спустись на один уровень ниже и введи ещё пару кнопок:
Caption = New
Name = mnuFileArr
Index = 0

Caption = Open
Name = mnuFileArr
Index = 1
4. Закрой окно MenuEditor и добавь на форму кнопку CommandButton и установи для неё такие свойства:
Name = cmdAdd
Caption = "Добавить пункт"
5. На событие Click этой кнопки вешай такой код
Код

Private Sub cmdAdd_Click()
   ' Подгружаем 2 элемент меню
   Load mnuFileA(2)
   ' Устанавливаем значение Caption
   mnuFileA(2).Caption = "Save"
   ' Делаем его видимым
   mnuFileA(2).Visible = True
End Sub

6. Напиши такой обработчик события Click для этого меню:
Код

Private Sub mnuFileArr_Click(Index As Integer)
   Select Case Index
       Case 0
           MsgBox "Создаём новый проект"
       Case 1
           MsgBox "Открываем проект"
       Case 2
           MsgBox "Сохраняем проект"
   End Select
End Sub

Может есть способ и проще, но я пока его не пробовал. ;))))))
Будут вопросы, пиши.
Удачи.

Это сообщение отредактировал(а) korob2001 - 15.1.2005, 23:04


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Aq1982
Дата 16.1.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 1.1.2005

Репутация: 1
Всего: 1



Пасиба. Ща попробую
PM MAIL   Вверх
ProgramerForever
  Дата 31.5.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 15.11.2006
Где: Новосибирск

Репутация: 2
Всего: 5



Если нужно добавить несколько пунктов, то можно так:
Код

i = mnuFileArray.Ubound + 1  ' Следующий номер индекса после самого
                                               ' большого уже существующего
Load mnuFileArray(i%)            ' Создание нового элемента массива меню
mnuFileArray(i%).Caption = "Новая менюшка № " & i%  '  Надпись

Чтобы удалить элемент делаем так:
Код

Unload mnuFileArray(3)           ' Удаляем элемент с индексом 3


Это сообщение отредактировал(а) ProgramerForever - 31.5.2010, 16:51
PM MAIL WWW ICQ   Вверх
windcastle
Дата 5.2.2015, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 4.2.2015

Репутация: нет
Всего: нет



Посмотри пример!

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  Меню_и_контекст.rar 4,20 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1062 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.