У меня есть кнопка с именем 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()
в конструкторе этого класса, но пока не работает.