我有一个名为按钮CWnd
派生类的工作,并希望使用CWnd
无障碍功能,我在类中重写这个功能:重写功能在的CWnd掘进类
virtual HRESULT get_accName(VARIANT varChild, BSTR *pszName);
virtual HRESULT get_accChildCount(long *pcountChildren);
virtual HRESULT get_accDefaultAction(VARIANT varChild, BSTR *pszDefaultAction);
virtual HRESULT get_accDescription(VARIANT varChild, BSTR *pszDescription);
virtual HRESULT get_accKeyboardShortcut(VARIANT varChild, BSTR *pszKeyboardShortcut);
virtual HRESULT get_accParent(IDispatch **ppdispParent);
virtual HRESULT get_accRole(VARIANT varChild, VARIANT *pvarRole);
virtual HRESULT get_accState(VARIANT varChild, VARIANT *pvarState);
virtual HRESULT get_accValue(VARIANT varChild, BSTR *pszValue);
当我运行这个程序,并且在实现这些函数中设置了一个断点,程序不会输入这些函数,而是使用父函数,可以帮助我吗?
实施get_accName的:
HRESULT Button::get_accName(VARIANT varChild, BSTR *pszName)
{
//*pszName = SysAllocString(lpstrTitle);
return S_OK;
}
我打电话EnableActiveAccessibility()
在这个类的构造函数,但尚不能工作。
当我重写的IAccessible接口的get_accName方法在一个基于对话框的MFC应用程序的组合框,该方法被执行。但是当它被其他标准控件覆盖时,如按钮,编辑,复选框,执行不会到达那里。 –
你是不是假装使用'get_accValue'? – sergiol