我有一個名爲按鈕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