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()
が、まだ機能しません。