代理对象的设计注意事项
代理和可访问对象设计取决于服务器 UI 元素的设计。 无论设计如何,UI 元素都必须在销毁代理对象之前立即通知其代理对象,以便代理对象正确处理来自客户端的调用。
以下列表描述了两种设计可能性:
- 如果用户界面代码易于扩展,请将实现 IAccessible 接口的代码放在实现用户界面元素的代码所在的模块中。 在这种情况下,代理是“轻量级”的,它所做的只是监视可访问对象的生命周期,转发对可访问对象的调用,并返回结果。
- 将实现 IAccessible 的代码放在与实现代理对象的代码相同的模块中。 在这种情况下,辅助对象使用内部函数获取有关 UI 元素的信息。
跟踪条控件
实现跟踪条控件时,请使用跟踪条样式 TBS_REVERSED 来提供更有意义的信息。 此样式反转 IAccessible::get_accValue 使用的比例。
对于没有此样式的垂直跟踪条,当跟踪条拇指位于控件顶部时, IAccessible::get_accValue 返回零 (0) ;将拇指向底部滑动时,值会增加。 对于 TBS_REVERSED 样式,当跟踪条拇指位于顶部时, IAccessible::get_accValue 返回 100 (100) ;将跟踪条拇指向底部移动时,数字会减少。
对于没有此样式的水平跟踪条,当跟踪条拇指位于控件的左侧时,将返回零 (0) ;将跟踪条拇指向右移动时,值会增加。 对于 TBS_REVERSED 样式,当跟踪条拇指位于左侧时, IAccessible::get_accValue 返回 100 (100) ;将跟踪条拇指向右移动时,值会减小。