IRibbonUI.InvalidateControl(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Делает недействительным кэшированное значение для одного элемента управления в пользовательском интерфейсе ленты.
public:
void InvalidateControl(System::String ^ ControlID);
public void InvalidateControl (string ControlID);
abstract member InvalidateControl : string -> unit
Public Sub InvalidateControl (ControlID As String)
Параметры
- ControlID
- String
Указывает идентификатор элемента управления, который будет признан недействительным.
Примеры
В следующем примере при запуске ведущего приложения запускается процедура события onLoad , которая затем вызывает процедуру, которая создает объект, представляющий пользовательский интерфейс ленты. Далее определяется процедура обратного вызова, которая делает недействительным элемент управления в пользовательском интерфейсе, а затем обновляет пользовательский интерфейс.
Ниже приведена XML-разметка для Office для загрузки пользовательской ленты:
<customUI … onLoad=”MyAddInInitialize” …>
Ниже приведен метод обратного вызова для события onLoad .
Dim MyRibbon As IRibbonUI
Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub
Sub myFunction()
‘ Invalidates the cache of a single control
MyRibbon.InvalidateControl(“control5”)
End Sub
Комментарии
Вы можете настроить пользовательский интерфейс ленты с помощью процедур обратного вызова в надстройках COM. Для каждого из обратных вызовов, которые реализует надстройка, ответы кэшируются. Например, если модуль записи надстроек реализует процедуру обратного вызова getImage для кнопки, функция вызывается один раз, образ загружается, а затем, если образ требуется обновить, кэшированное изображение используется вместо отзыва процедуры. Этот процесс остается на месте для элемента управления до тех пор, пока надстройка не поверит, что кэшированные значения недопустимы с помощью метода InvalidateControl . В это время снова вызывается процедура обратного вызова и кэшируется возвращаемый ответ.