Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SrrazOffpril_Vecher.rtf
Скачиваний:
10
Добавлен:
18.09.2019
Размер:
1.9 Mб
Скачать

4.8. Модификация панелей инструментов в период выполнения

Созданные (на этапе разработки) панели инструментов можно запрограммировать так, чтобы они реагировали на изменение ситуации в период выполнения. Если элемент в определенном контексте не допустим, его можно удалить, скрыть или отключить. Если элемент является переключателем с двумя возможными значениями, то, когда соответствующий параметр активен, задается вывод «утопленного» значка, а когда этот параметр отключен, - «плоского». Модификация системы меню в период выполнения осуществляется только посредством Visual Basic.

4.8.1. Отображение панелей инструментов и отдельных элементов

Панель инструментов занимает на экране определенное место, и поэтому ее следует отображать лишь на тот период, когда она действительно необходима. Панель инструментов видима, если ее свойство Visible равно True, и скрыта, если это свойство – False.

Поскольку Word сохраняет изменения, внесенные пользовательский интерфейс, в документах или шаблонах, то пользовательские панели инструментов и элементы видимы, когда в текущем контексте доступен соответствующий документ или шаблон, и скрыты, когда этот документ или шаблон недоступен. Но Microsoft Excel запоминает изменения в пользовательском интерфейсе в файле параметров рабочего пространства, и поэтому для динамической модификации интерфейса необходимо изменять значение свойства Visible в процедурах обработки подходящих событий.

4.8.2. Восстановление встроенных панелей инструментов

Вернуть встроенную панель в исходное состояние позволяет метод Reset:

For Each cb In CommandBars

If cb.BuiltIn Then

cb.Reset

Else

cb.Delete

End If

Next

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

4.8.3. Включение и отключение элементов на панелях инструментов

Если необходимо контролировать доступность элемента на панели инструментов в период выполнения программы, следует использовать свойство Enabled. Если оно равно True, элемент включен, а False – выключен. Пример:

CommandBars(“Standard”).Controls(3).Enabled = False

4.8.4. Индикация состояния кнопок на панели инструментов

Если кнопка на панели инструментов представляет параметр с двумя возможными значениями (включен/выключен), то можно изменять ее внешний вид, показывая текущее значение параметра. Внешний вид кнопки определяется свойством State: значение msoButtonDown задает появление кнопки как нажатой, а значение msoButtonUp – как отжатой:

Sub DatabaseView()

With CommandBars(“MyAppToolbar”).Controls(3)

If .State = msoButtonDown Then

.State = msoButtonUp

переключаемся в режим базы данных

Else

.State = msoButtonDown

переключаемся в режим рабочего листа

End If

End With

End Sub

4.8.5. Модификация пользовательских текстовых полей, списков и полей со списками

Добавив на панель инструментов пользовательские текстовые поля, списки или поля со списками, можно модифицировать их в период выполнения, например, изменять текущие значения в полях или содержимое списков. Чтобы эти элементы управления отображали состояние программы на Visual Basic, используется свойство Text. Для добавления и удаления (по индексам) из списков предназначены методы AddItem и RemoveItem. Добавление и удаление элементов в списках приводит к изменению индексов остальных элементов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]