get_accKeyboardShortcut 是 Microsoft Active Accessibility(MSAA)接口的方法之一,用于获取控件的键盘快捷键信息。在 MFC 中,你需要在相应的窗口类中实现 IAccessible 接口,其中包括 get_accKeyboardShortcut 方法。以下是一个简化的示例:
class CAccessiblePane : public CWnd, public IAccessible
{
    // ...

public:
    // IUnknown methods
    STDMETHOD(QueryInterface)(REFIID riid, void** ppv);
    STDMETHOD_(ULONG, AddRef)();
    STDMETHOD_(ULONG, Release)();

    // IDispatch methods
    STDMETHOD(GetTypeInfoCount)(UINT* pctinfo);
    STDMETHOD(GetTypeInfo)(UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo);
    STDMETHOD(GetIDsOfNames)(REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId);
    STDMETHOD(Invoke)(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr);

    // IAccessible methods
    STDMETHOD(get_accKeyboardShortcut)(VARIANT varChild, BSTR* pszKeyboardShortcut);

    // Other methods...
};

在这个例子中,CAccessiblePane 类实现了 IAccessible 接口,其中包括了 get_accKeyboardShortcut 方法。你需要根据窗口的具体情况实现这些接口方法,以便 MSAA 能够正确地与你的窗口交互。

在实现 get_accKeyboardShortcut 方法时,你需要返回与窗口相关的键盘快捷键信息的字符串。这样,辅助技术可以提供有关如何与窗口交互的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/15598/MFC/CBasePane