2.8.Создание меню
2.8.8.Связь меню с формой



Меню можно отображать не только при выборе элементов на рабочем листе, но и связывать их с элементами управления, расположенными на форме. Продемонстрируем это на примере (листинг 2.12). На форме разместите над­пись, в модуле формы и стандартном модуле наберите представленный да­лее код. Теперь при щелчке на надписи отобразится меню, состоящее из двух команд — Раз и Два.

 

 

Листинг 2.12.а Контекстное меню. Модуль формы

Const MenuName As String = "MyMenu"

 

Private Sub UserForm_Initialize()

Dim cb As CommandBar

Set cb = Application.CommandBars.Add(_

Name:=MenuName,_

Position:=msoBarPopup,_

Temporary:=True)

With cb.Controls.Add(Type:=msoControlButton)

.Caption = "Ðàç"

.Style = msoButtonCaption

.OnAction = "DoSomething1"

End With

With cb.Controls.Add(Type:=msoControlButton)

.Caption = "Äâà"

.Style = msoButtonCaption

.OnAction = "DoSomething2"

End With

End Sub

 

Private Sub Label1_Click()

Application.CommandBars(MenuName).ShowPopup

End Sub

 

Private Sub UserForm_QueryClose(_

                 Cancel As Integer, CloseMode As Integer)

On Error Resume Next

Application.CommandBars("MyMenu").Delete

On Error GoTo 0

End Sub

 

Листинг 2.12.б Контекстное меню. Стандартный модуль

Sub DoSomething1()

MsgBox "Раз"

End Sub

 

Sub DoSomething2()

MsgBox "Два"

End Sub



  
КОНТАКТЫ
Ермакова Надежда Игоревна
Лицей им.Г.Ф.Атякшева
ХМАО-Югорск, ул Ленина 24



+7 9222596815 nady_er@mail.ru
КАРТА
sample map