如何在CMFCMenuBar及其项目中支持辅助功能

时间:2014-04-15 16:02:13

标签: c++ mfc accessibility coded-ui-tests cmfctoolbar

我需要为CMFCMenubar启用辅助功能,以便在编码的ui测试中使用它(默认情况下不支持),如this post on MSDN Visual Studio blog中提到的MFC功能包控件(如CMFCMenuBar)没有完全支持。

我使用了一个测试我的软件中的辅助功能支持的工具,它位于此路径 C:\ Program Files \ Windows Kits \ 8.1 \ bin \ x86 " inspect.exe&#34 ;当我使用UI Automation时它可以工作,但是当我使用MSAA(在编码的ui测试中使用相同的技术)时,它失败了。

我尝试了以下跳跃以使其正常工作:

  1. 我创建了一个新项目并检查了向导中的支持“辅助功能”复选框。
  2. 我在应用程序的第一个条目中调用了方法GetGlobalData()->EnableAccessibilitySupport(TRUE);
  3. 我在框架中调用了EnableActiveAccessibility();,也为menubar调用了{如果GetGlobalData()->IsAccessibilitySupport()true,则会默认调用它)
  4. 但它失败了,如何启用它我需要一些帮助

1 个答案:

答案 0 :(得分:0)

如果你看一下CMFCmenubar及其相关“按钮”的推导,你会发现基类的按钮是从CObject派生的。这就是为什么它们不受编码ui的支持。编码的ui看不到它们。我们的编码ui测试遇到了同样的问题。目前,如果您使用功能包中的类,则无法轻松解决。