Поделиться через


Использование заметки сервера

В этом разделе содержатся сведения об использовании заметки сервера для указания объекта обратного вызова.

Переопределение свойства, указывающего объект обратного вызова

  1. Получите указатель интерфейса IAccessible на доступный элемент, который должен быть помечен.
  2. Вызовите QueryInterface для элемента со специальными возможностями, чтобы получить указатель интерфейса IAccIdentity .
  3. Вызовите метод IAccIdentity::GetIdentityString() в указателе интерфейса IAccIdentity , чтобы получить строку, которая однозначно определяет доступный элемент, который должен быть помечен.
  4. Используйте CoCreateInstance или CoCreateInstanceEx для создания объекта IAccPropServices .
  5. Создайте com-объект, реализующий IAccPropServer.
  6. Вызовите метод IAccPropServices::SetPropServer, передав строку удостоверения, GUID, указывающий на переопределяемое свойство, и указатель на объект обратного вызова IAccPropServer .
  7. Освободить указатели интерфейса и свободную память.

Когда клиент запрашивает свойство доступного элемента, вызывается объект обратного вызова и возвращает значение клиенту.

Как и при указании значения, разработчики серверов могут также использовать метод IAccPropServices::ComposeHwndIdentityString для получения строки удостоверения; или они могут использовать метод IAccPropServices::SetHwndPropServer и указать параметры hwnd, idObject или idChild вместо строки удостоверения.

При использовании SetPropServer или SetHwndPropServer в объекте контейнера разработчики серверов могут дополнительно указать, что переопределяющие сведения также должны применяться ко всем дочерним элементам этого контейнера.

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

Ниже приведен список свойств, которые можно аннотировать с помощью этой процедуры.

Свойства, поддерживаемые при указании обратного вызова

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

Свойство Тип
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESCRIPTION VT_BSTR
PROPID_ACC_ROLE VT_I4
PROPID_ACC_STATE VT_I4
PROPID_ACC_HELP VT_BSTR
PROPID_ACC_KEYBOARDSHORTCUT VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR
PROPID_ACC_FOCUS VT_DISPATCH
VT_I4
PROPID_ACC_SELECTION VT_DISPATCH
VT_I4
VT_UNKNOWN
PROPID_ACC_PARENT VT_DISPATCH
PROPID_ACC_NAV_UP VT_DISPATCH
VT_I4
PROPID_ACC_NAV_DOWN VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LEFT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_RIGHT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_PREV VT_DISPATCH
VT_I4
PROPID_ACC_NAV_NEXT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_FIRSTCHILD VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LASTCHILD VT_DISPATCH
VT_I4