在 MFC(Microsoft Foundation Classes)中,CCmdTarget 类确实提供了名为 GetTypeInfoCount 的公共方法,用于实现 IDispatch 接口。这个方法用于获取支持的类型信息的数量。

以下是 CCmdTarget::GetTypeInfoCount 方法的定义:
HRESULT CCmdTarget::GetTypeInfoCount(UINT& nCount)

在 CCmdTarget 类中,GetTypeInfoCount 方法返回 E_NOTIMPL,表示该对象不支持类型信息。如果你的类派生自 CCmdTarget 并且需要支持类型信息,你可以在派生类中覆盖这个方法并返回实际的类型信息数量。

以下是一个示例,演示如何在派生自 CCmdTarget 的类中实现 GetTypeInfoCount 方法:
class CMyCmdTarget : public CCmdTarget
{
public:
    // 构造函数、析构函数等成员函数

    // 实现获取类型信息数量的方法
    virtual HRESULT GetTypeInfoCount(UINT& nCount)
    {
        // 返回支持的类型信息数量
        nCount = 1;  // 假设支持一个类型信息

        return S_OK;
    }

    // 其他成员函数
};

在这个示例中,CMyCmdTarget 类通过实现 GetTypeInfoCount 方法,指示它支持一个类型信息。实际的实现可能会因你的需求而有所不同。

请注意,如果你的类需要支持更多的类型信息,你可能需要实现 IDispatch::GetTypeInfo 方法,并在其中返回实际的 ITypeInfo 接口。




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