使用服务器批注
本主题提供有关使用服务器注释指定回调对象的信息。
重写指定回调对象的属性
- 获取指向要批注的可访问元素的 IAccessible 接口指针。
- 对可访问元素调用 QueryInterface 以获取 IAccIdentity 接口指针。
- 在 IAccIdentity 接口指针上调用 IAccIdentity::GetIdentityString () 以获取唯一标识要批注的可访问元素的字符串。
- 使用 CoCreateInstance 或 CoCreateInstanceEx 创建 IAccPropServices 对象。
- (实现 IAccPropServer 的 COM) 对象创建组件对象模型。
- 调用 IAccPropServices::SetPropServer,传递标识字符串、指示要重写的属性的 GUID,以及指向 IAccPropServer 回调对象的指针。
- 释放接口指针和释放内存。
当客户端请求可访问元素的 属性时,将调用回调对象并将该值返回给客户端。
与指定值时一样,服务器开发人员也可以使用 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 |