WEB开发网
开发学院软件开发VC 活动的可访问兼容型应用给程序员带来使用软件的新... 阅读

活动的可访问兼容型应用给程序员带来使用软件的新工具

 2007-03-22 21:31:12 来源:WEB开发网   
核心提示: 另一种途径是通过使用SetEventHook函数的第1、2个参数来过滤掉将在回调函数中进行处理的WinEvents,这两个参数定义了一个包含应被处理的WinEvents的事件范围,活动的可访问兼容型应用给程序员带来使用软件的新工具(10),当你确切的知道这个范围时,本方法才可用,一个是从W

另一种途径是通过使用SetEventHook函数的第1、2个参数来过滤掉将在回调函数中进行处理的WinEvents。这两个参数定义了一个包含应被处理的WinEvents的事件范围。当你确切的知道这个范围时,本方法才可用。但如果你还没有完成程序的最终设计,我建议你不要在回调函数中过滤事件。

有两个例外。第一个是是否存在性能问题,但这通常不是问题。另一个发生在可访问的元素(或者COM服务器,更准确的说)在处理特定的事件时,就不处理从回掉函数中执行的Active Accessibility函数调用。在使用OLEACC.DLL支持的控件时这种情形通常不会发生。当UI元素内在的支持IAccessible时,程序开发者完全负责这种支持的实现。不良实现会导致问题,因此你可以过滤掉在SetWinEventHook调用中会导致问题的事件。

一个回调函数当它在上下文之外运行时被异步的调用,此时,从回调函数中调用IAccessible方法时要非常小心,因为当调用IAccessible方法时,相应的UI元素也许不再存在了。特别是要留心标志着激发此事件的UI元素已经不存在的EVENT_OBJECT_DELETE事件。此时,后面将要讨论到的AccessibleObjectFromEvent函数将返回一个错误。

同时,当你从一个回调函数中调用Iaccessible方法而此IAccessible方法代表一个激发此事件的基于HWND的元素时,你可能会想首先调用Win32的IsWindowVisible函数,因为隐藏的UI元素可能并没有完全的初始化。

获得IsWindowVisible的指针

有4种方法得到IsWindowVisible接口的指针。一个是从WinEventProc函数中调用Active Accessibility函数AccessibleObjectFromEvent。AccessibleObjectFromEvent函数中的所有参数被传递给WinEventProc。Out参数由激发此事件的UI元素相应的IAccessible 接口/子 ID对组成。

上一页  5 6 7 8 9 10 

Tags:活动 访问 兼容

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接