Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создание нестандартных меню и панелей инструментов




Для того чтобы наши приложения приобрели законченный вид, необходимо добавить интерфейс, который выводил бы наши формы на экран. В данной лабораторной работе речь пойдет о нестандартных меню и панелях инструментов.

10.9.1.Пример создания/удаления панели инструментов

Рассмотрим пример создания пользовательской панели инструментов Вставка знака с одной кнопкой, на которой расположен нестандартный рисунок и надпись «Плюс в кружочке» (Рис. 10‑16).

Рис. 10‑16. Панель инструментов с кнопкой Плюс в кружочке

Как вы знаете, рисунок на кнопку можно поместить с помощью метода PasteFace, который вставляет его из буфера обмена (а не из предварительно созданного графического файла). Поэтому программа каждый раз должна рисовать этот рисунок заново, вырезать его в буфер обмена, а затем вставлять на кнопку. Поэтому:

1) включите макрорекордер,

2) воспользовавшись панелью инструментов Рисование, нарисуйте плюс в кружочке,

3) вырежьте его в буфер обмена,

4) остановите макрорекордер,

5) в редакторе VBA вырежьте нужный фрагмент кода и вставьте в свою программу:

Sub СозданиеПанелиИнструментов()

Dim PlusButton As CommandBarButton

Dim MyBar As CommandBar

'1. Создаем панель инструментов:

Set MyBar = Application.CommandBars.Add

With MyBar

. Visible = True'панель инструментов видна на экране

. Name = "Вставка знака" 'имя новой панели инструментов

. Position = msoBarTop 'расположена в верхнем углу

End With

'2. Создаем рисунок и вырезаем его в буфер обмена (этот _

фрагмент кода был предварительно записан макрорекордером):

ActiveSheet.Shapes.AddShape(msoShapeFlowchartOr, _

337.5, 77.25, 94.5, 94.5).Select

Selection.ShapeRange.Line.Weight = 6#

Selection.ShapeRange.Line.Visible = msoTrue

Selection.ShapeRange.Line.Style = msoLineSingle

Selection.Cut '- вырезаем рисунок в буфер обмена

'3. Добавляем кнопку на панель инструментов «Вставка знака»:

Set PlusButton = MyBar.Controls.Add(Type:=msoControlButton)

'На кнопке должен быть рисунок и надпись:

PlusButton. Style = msoButtonIconAndCaption

'Текст надписи:

PlusButton. Caption = "Плюс в кружочке"

'Вставляем рисунок:

PlusButton. PasteFace

'Кнопка доступна пользователю:

PlusButton. Enabled = True

'При щелчке по кнопке выполняется процедура Символ:

PlusButton. OnAction = "Символ"

End Sub

Замечание:

Если вы выполните это задание с самого начала (т.е. при включенном макрорекордере нарисуете плюс в кружочке), Ваш код будет несколько отличаться от приведенного примера, так как и размер, и месторасположения Вашего рисунка будут иными.

Задание: введите данный код в книгу Плюс в кружочке.xls и запустите его. Убедитесь, что панель инструментов Вставка знака создана.

Удаление панели инструментов

Чтобы удалить панель инструментов можно воспользоваться следующим кодом:

Sub УдалениеПанелиИнструментов()

For Each Bar In Application.CommandBars

If Bar.Name = "Вставка знака" Then

Bar.Delete

Exit For

End If

Next

End Sub

Задание: введите данный код в книгу Плюс в кружочке.xls и запустите его. Убедитесь, что панель инструментов Вставка знака удалена.

10.9.2.Пример создания/удаления меню

Теперь создадим меню Вставка знака, которое расположим в самом конце строки меню рабочего листа (после меню Справка).

Рис. 10‑17. Добавление меню Вставка знака

Листинг программы:

Sub ДобавлениеМеню()

Set myMenuBar = CommandBars("Worksheet Menu bar")

'1. Добавляем вложенное меню:

Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, _

Temporary:=True)

'2. Задаем текст надписи:

newMenu. Caption = "Вставка знака"

'3. Во вложенное меню добавляем кнопку:

Set ctrl1 = newMenu.Controls _

.Add(Type:=msoControlButton, ID:=1)

'4. На кнопке должна быть только надпись:

ctrl1. Style = msoButtonCaption

'5. Добавляем надпись:

ctrl1. Caption = "Плюс в кружочке"

'6. Создаем всплывающую подсказку:

ctrl1. TooltipText = "Вставка специального символа"

'7. При щелчке по кнопке выполняется процедура Символ:

ctrl1. OnAction = "Символ"

End Sub

Задание: введите данный код в книгу Плюс в кружочке.xls и запустите его. Убедитесь, что меню Вставка знака создана.

Удаление меню

Для удаления меню воспользуемся следующей программой:

Sub УдалениеМеню()

Set myMenuBar = CommandBars("Worksheet Menu bar")

For Each Меню In myMenuBar.Controls

If Меню.Caption = "Вставка знака" Then

Меню.Delete

Exit For

End If

Next

End Sub

Задание: введите данный код в книгу Плюс в кружочке.xls и запустите его. Убедитесь, что меню Вставка знака удалено.





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 464 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Два самых важных дня в твоей жизни: день, когда ты появился на свет, и день, когда понял, зачем. © Марк Твен
==> читать все изречения...

2297 - | 2123 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.