2.8.Создание меню
2.8.6. Поле ввода в меню


В меню могут присутствовать не только кнопки и списки, но и поля ввода. Поля ввода создаются аналогично другим элементам меню, но тип у них надо устанавливать равным msoControlEdit. Код листинга 2.8. демонстрирует добавление поля в меню, в котором кроме этого поля находится кнопка. Нажатие кнопки приведет к отображению диалогового окна, подтверждающего произведенный ввод в поле.


 

Листинг 2.8. Поле ввода в меню

Dim cb As CommandBar

Private Sub MenuBuilder()

Set cb = Application.CommandBars.Add(Name:=MyCB,_

 Position:=msoBarFloating, Temporary:=True)

With cb

.Controls.Add Type:=msoControlButton

.Controls(1).Caption = "Money"

.Controls(1).Style = msoButtonIconAndCaption

.Controls(1).OnAction = "ShowIt"

.Controls(1).FaceId = 1643

.Controls.Add Type:=msoControlEdit

.Controls(2).Text = "0.00"

.Controls(2).Enabled = True

.Visible = True

End With

End Sub

 

Sub ShowIt()

MsgBox cb.Controls(2).Text

End Sub

 

Добавление шпиона в контекстное меню

Контекстное меню можно использовать для отслеживания действий пользователя — отображать в нем информацию о выбранном объекте, на котором был произведен вызов этого меню. Имя этого объекта можно отобразить в первой строке меню, например, как это делает следующий код (листинг 2.9.).


Листинг 2.9. Поле ввода в меню

Sub RightClickDetector()

Dim cb As CommandBar

For Each cb In Application.CommandBars

         If cb.Type = msoBarTypePopup Then

With cb.Controls.Add(Type:=msoControlButton,_

                     Before:=1, Temporary:=True)

.Caption = .Parent.Name

     End With

   End If

  Next

End Sub




  
ПОИСК
МОЯ КНОПКА
Контакты
МБОУ "Лицей им.Атякшева"

628260 г. Югорск, ул. Ленина 24,
ХМАО-Югра, Тюменская область
Телефон: 8 (34675)2-48-30
Факс: 8 (34675)2-48-30



89222596815 nady_er@mail.ru
Карта
sample map