Метод IRibbonUI.InvalidateControl (Office)

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

Синтаксис

expression. InvalidateControl (bstrControlID)

Выражение Выражение, возвращающее объект IRibbonUI .

Параметры

Имя Обязательный или необязательный Тип данных Описание
bstrControlID Обязательный String Указывает идентификатор элемента управления, который будет признан недействительным.

Замечания

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

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

Пример

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

<customUI … OnLoad="MyAddInInitialize" …>
Dim MyRibbon As IRibbonUI 
 
Sub MyAddInInitialize(Ribbon As IRibbonUI) 
 Set MyRibbon = Ribbon 
End Sub 
 
Sub myFunction() 
 MyRibbon.InvalidateControl("control1") ' Invalidates the cache of a single control 
End Sub

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.