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

Фрагмент таблицы идентификаторов встроенных команд меню

Читайте также:
  1. B. Менюдегі Вид > Очистить командасын таңдау керек
  2. Battle Team vs Team (Баттл Команда на Команду)
  3. cl_slist Устанавливает количество серверов, которые видно при исп. команды slist
  4. Cтворення командного файла
  5. II. Личные и командные Первенства Университета среди студентов
  6. S4.11 Таблицы стоимости
  7. V. ПРОВЕРКА ВЫПОЛНЕНИЯ КОМАНД: ИСПОЛНЕНИЕ И КРИТЕРИИ ОЦЕНКИ
Идентификатор Имя команды Локальное имя
  &Spelling Орфография
  &Save Сохранить
  &Print Печать
  &New Создать
  &Copy Копировать
  &Cut Вырезать
  &Paste Вставить
  &Open Открыть

Пример добавления команды проверки правописания Spelling в меню Проверки из панели Головное меню:

Set mySpell=CommandBars(«Головное меню»).Соntrols(«Проверки»)_.Controls.Add(Id:=2)

Пример.

Создать документ, в котором будут отключены все встроенные меню и создано собственное иерархическое меню. На верхнем уровне меню будет состоять из одного пункта. Оно будет включать два подменю, каждое из которых содержит по одной команде. Для реализации данных условий создаем простую форму, содержащую две кнопки: Создать и Отмена. Первая кнопка отключает все панели открытого документа и создает собственное меню, вторая кнопка возвращает все панели на место.

Технология выполнения

§ Активизируйте приложение Word и создайте документ.

§ Перейдите в редактор VBA и создайте форму.

§ Создайте процедуру создания собственной панели.

Option Explicit

Public Sub CreateCustomMenu()

Dim CstmBar As CommandBar

Dim CstmPopUpi As CommandBarPopup, CstmPopUp2 As CommandBarPopup

Dim CstmCtrl As CommandBarControl

Dim Exist As Boolean

'Выключаем все панели

For Each CstmBar In CommandBars

CstmBar.Enabled=False

Next CstmBar

'Создаем, включаем и делаем видимой собственную панель

Exist=False

For Each CstmBar In CommandBars

If CstmBar.Name=«Головное меню» Then

Exist=True

Exit For

End If

Next CstmBar

If Not Exist Then

Set CstmBar=CommandBars.Add(Name:="Головнoe меню", Position:=msoBarTop, MenuBar:=True, Temporary:=False)

End If

CstmBar.Enabled=True

CstmBar.Visible=True

'Добавляем меню на панель

Exist=False

For Each CstmCtrl In CstmBar.Controls

If CstmCtrl.Caption=«&Ввод документов» Then

Exist=True

Exit For

End If

Next CstmCtrl

If Not Exist Then

Set CstmCtrl=CstmBar.Controls.Add(Type:=msoControlPopup, Before:=1)

CstmCtrl.Caption=«&Ввод документов»

'Добавляем две команды подменю

Set CstmPopUpi =

CstmCtrl.Controls.Add(Type:=msoControlPopup)

CstmPopUpi.Caption=«о движении товаров»

Set CstmPopUp2 =

CstmCtrl.Controls.Add(Type:=msoControlPopup)

CstmPopUp2.Caption=«финансовых»

'Добавляем команду в каждое подменю

Set CstmCtrl =

CstmPopUpi.Controls.Add(Type:=msoControlButton)

CstmCtrl.Caption=«Накладная»

CstmCtrl.OnAction=«Module1.Invoice»

Set CstmCtrl =

CstmPopUp2.Controls.Add(Type:=msoControlButton)

CstmCtrl.Caption=«Счет»

CstmCtrl.OnAction=«Module1.Account»

End If

End Sub

Пояснения к процедуре.

Вначале, используя свойство Enabled, были отключены все панели. Затем было сформировано головное меню с двумя подменю и командами, содержащее всего один пункт. Обратите внимание: перед добавлением нового пункта обычно проверяется, а не был ли он уже добавлен. Подобная проверка позволяет избежать ошибок, возникающих при попытках добавить уже существующий пункт или удалить несуществующий.

§ Создайте процедуру восстановления панелей инструментов документа.

Public Sub ResetMainMenu()

Dim CstmBar As CommandBar

'Включаем все панели

For Each CstmBar In CommandBars

CstmBar.Enabled=True

Next CstmBar

Set CstmBar=CommandBars.Item(«Menu Bar»)

CstmBar.Visible=True

End Sub

§ Пропишите обработчик кнопки «Создать».

Private Sub CommandButton1_Click()

Call CreateCustomMenu

End Sub

§ Пропишите обработчик кнопки «Отмена», восстанавливающей стандартное окружение.

Private Sub CommandButton2_Click()

Call ResetMainMenu

End Sub

§ Чтобы пример был законченным, приведем процедуры, вызываемые в ответ на выбор команд меню Накладная и Счет:

Public Sub Invoice()

MsgBox («Накладная!»)

End Sub

Public Sub Account()

MsgBox («Счет!»)

End Sub

§ Откомпилируйте программу, запустите форму на выполнение.

Форма примера в рабочем режиме. Результат работы кнопки Создать

Примечание.

Данный пример доработать для более рационального использования следующим образом: в головном меню разработчика создать пункт Форма, который вызывает соответствующую форму, редактирующую меню всего приложения. После нажатия кнопки Создать меню всего приложения Word изменяется, подключив Главное меню, созданное программно. В этом меню пункт «Работа с меню + Отмена» запускает форму с соответствующими кнопками (Создать и Отменить).

Результат работы кнопки Отменить

Главное меню разработчика и вызываемая форма

Главное меню приложения, созданное программно, и пункт Отмена, вызывающий форму с кнопкой Отменить

 


Дата добавления: 2015-10-29; просмотров: 75 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Добавление выпадающих меню| Создание новой базы данных

mybiblioteka.su - 2015-2024 год. (0.009 сек.)