gpt4 book ai didi

visual-c++ - IAccessible 接口(interface)的覆盖函数在 cwnd 驱动的类中不起作用

转载 作者:行者123 更新时间:2023-12-04 12:59:28 25 4
gpt4 key购买 nike

我有一个 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()在这个类的构造函数中,但还没有工作。

最佳答案

您是否尝试过类似的方法:

class CWnd {
virtual HRESULT get_accChildCount(long *pcountChildren);
};

class Button : public CWnd {

virtual HRESULT get_accChildCount(long *pcountChildren) {

HRESULT childCount = CWnd:get_accChildCount(long *pcountChildren);

//you can use the value from the ancestor class if it is of any use
//to you or add your own code
childCount = 1234;

return childCount;
}
};

关于visual-c++ - IAccessible 接口(interface)的覆盖函数在 cwnd 驱动的类中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10528447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com