Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно добавлять елементы меню в MDIForm? / 8 сообщений из 8, страница 1 из 1
23.09.2003, 12:46
    #32272805
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?

Как можно добавлять елементы(главне и подчиненные) главного меню в MDIForm динамически? (Вместо того чтобы делать это вручную нажав правой кнопкой мыши на форму и выбрав MenuEditor)?
...
Рейтинг: 0 / 0
23.09.2003, 13:35
    #32272909
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
Усе есть просто!
Для этого надо добавить как минимум один элемент в дизайне и т.к. меню является по сути массивом элементов то такой код:
Код: 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
23.09.2003, 14:22
    #32272998
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
А как тоже самое реализовать в Классе,
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
23.09.2003, 14:49
    #32273034
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
Все получилось!!!
Код: 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
23.09.2003, 15:09
    #32273088
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
ПО индексу лови.
Private Sub mnuSubItem_Click(Index As Integer)
MsgBox Index
End Sub
...
Рейтинг: 0 / 0
23.09.2003, 15:39
    #32273163
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
А можно ли создать подменю не в дизайне? Если допустим я делаю меню динамически?

ВОТ КЛАСС 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
23.09.2003, 15:40
    #32273170
Nrisimha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
Прошу прощения вот код формы:

Код: 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
23.09.2003, 16:06
    #32273237
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно добавлять елементы меню в MDIForm?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как можно добавлять елементы меню в MDIForm? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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