Переопределенные функции для интерфейса IAccessible не работают в классе, управляемом 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()в конструкторе этого класса, но пока не работает.

7
задан Neil 18 May 2012 в 00:02
поделиться