Tengo un botón denominado CWnd
clase derivada de, y quieren utilizar CWnd
funciones de accesibilidad, puedo reemplazar esta función en mi clase:funciones anulado para la interfaz IAccessible no funcionan en Cwnd-drived clase
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);
Cuando Ejecuto el programa y establezco un punto de inflexión en la implementación de cualquiera de estas funciones, el programa no ingresa a estas funciones, y en su lugar utiliza la función principal, ¿puede ayudarme alguien?
implementación de get_accName:
HRESULT Button::get_accName(VARIANT varChild, BSTR *pszName)
{
//*pszName = SysAllocString(lpstrTitle);
return S_OK;
}
llamo EnableActiveAccessibility()
en el constructor de esta clase, pero no funciona todavía.
Cuando puedo reemplazar el método get_accName en IAccessible interfaz para un cuadro combinado en una aplicación MFC basada diálogo, el método es ejecutado. Pero cuando se anula para otros controles estándar como Button, Edit, Checkbox, la ejecución no llega. –
¿No pretendes usar 'get_accValue'? – sergiol