MFC - 从CMFCPropertyGridProperty类重写虚拟方法OnUpdateValue()

时间:2013-11-20 04:34:03

标签: c++ inheritance mfc virtual-method

在我的MFC项目中,我试图覆盖BOOL OnUpdateMethod()类中的虚拟方法CMFCPropertyGridProperty。只要父属性上的组合框发生更改,该方法的新实现就会更新一些子属性。

所以,我使用CMFCPropertyGridProperty作为基类创建了一个新类。这是我的问题:我无法前进,因为编译器告诉我没有合适的构造函数可用(错误C2512 )。所以,我试图声明并实现CMFCPropertyGridProperty的相同构造函数,并生成更多错误!

为了正确实施任何公共虚拟方法,我该怎么办?我相信这个解决方案非常简单,但我在C ++和MFC上都是一个菜鸟。

1 个答案:

答案 0 :(得分:1)

根据the documentation,构造函数需要1到3个参数。您需要通过自己的构造函数的初始化列表提供这些参数。

class CMyGridProperty: public CMFCPropertyGridProperty
{
public:
    CMyGridProperty(const CString& strGroupName,
                    DWORD_PTR dwData=0,
                    BOOL bIsValueList=FALSE)
       : CMFCPropertyGridProperty(strGroupName, dwData, bIsValueList)
    {
    }
};