powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно добавлять елементы меню в MDIForm?
8 сообщений из 8, страница 1 из 1
Как можно добавлять елементы меню в MDIForm?
    #32272805
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Как можно добавлять елементы(главне и подчиненные) главного меню в MDIForm динамически? (Вместо того чтобы делать это вручную нажав правой кнопкой мыши на форму и выбрав MenuEditor)?
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32272909
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усе есть просто!
Для этого надо добавить как минимум один элемент в дизайне и т.к. меню является по сути массивом элементов то такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Form_Load()
Dim x As Integer
For x =  1  To  4 
    Load mnuSubItem(x)
    mnuSubItem(x).Caption =  "Menu Item "  & x +  1 
    mnuSubItem(x).Visible = True
Next x
End Sub


свободно добавить тебе несколько новых.

Удачи!
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32272998
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как тоже самое реализовать в Классе,
as Object и as Menu - неработает!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Option Explicit

Dim count As Integer

Sub AddMenu(ByVal mnuI As Object) 'as menu
If count = 0 Then count = count + 1
    Load mnuI(x)
    mnuI(x).Caption = "Menu Item " & x + 1 ' Ошибка!!пишет что объект не имеет таких свойств
    mnuI(x).Visible = True
End Sub

Private Sub Class_Initialize()
count =  0 
End Sub

...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32273034
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все получилось!!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Option Explicit

Dim count As Integer
Sub AddMenu(ByVal mnuI As Object, bolLoad As Boolean)  'as menu
If count =  0  Then count = count +  1 
If bolLoad Then Load mnuI(count)
    mnuI(count).Caption =  "Menu Item "  & count
    mnuI(count).Visible = True
End Sub
Private Sub Class_Initialize()
count =  0 
End Sub


Как теперь можно в классе перехватывать события каждого меню?(т.е. если пользователь выбрал и нажал на это меню) ????
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32273088
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПО индексу лови.
Private Sub mnuSubItem_Click(Index As Integer)
MsgBox Index
End Sub
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32273163
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно ли создать подменю не в дизайне? Если допустим я делаю меню динамически?

ВОТ КЛАСС clsMNU
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Option Explicit


Sub AddMenu(ByVal mnuI As Object, strText As String, bolLoad As Boolean)  'as menu
Dim count As Integer
count = mnuI.Ubound

If bolLoad Then
    count = count +  1 
    Load mnuI(count)
Else
End If
    mnuI(count).Caption = strText
    mnuI(count).Visible = True
End Sub

Private Sub Class_Initialize()
End Sub

Private Sub Class_Terminate()
End Sub


А вот форма вызывающая этот класс:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private clsM As clsMnu

Private Sub Form_Load()
Dim x As Integer
For x =  1  To  4 
    Load Mnu_1(x)
    Mnu_1(x).Caption =  "Menu Item "  & x +  1 
    Mnu_1(x).Visible = True
Next x
End Sub

Private Sub MDIForm_Load()
Set clsM = New clsMnu
clsM.AddMenu Mnu_1,  "Text" , False
clsM.AddMenu Mnu_1,  "Text 2 ", True
clsM.AddMenu Mnu_1,  "Text 3 ", True
clsM.AddMenu mnuMy,  "Main2" , True
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)
Set clsM = Nothing
End
End Sub


вот что получилось:


Теперь нужно динамически создать ПодМеню гл.Меню "Main2" ?
Как это сделать???
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32273170
Фотография Nrisimha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения вот код формы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub MDIForm_Load()
  Set clsM = New clsMnu
  clsM.AddMenu Mnu_1,  "Text" , False
  clsM.AddMenu Mnu_1,  "Text 2 ", True
  clsM.AddMenu Mnu_1,  "Text 3 ", True
  clsM.AddMenu mnuMy,  "Main2" , True
End Sub

Private Sub MDIForm_Unload(Cancel As Integer)
  Set clsM = Nothing
  End
End Sub
...
Рейтинг: 0 / 0
Как можно добавлять елементы меню в MDIForm?
    #32273237
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно добавлять елементы меню в MDIForm?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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