在我的MFC项目中,我试图覆盖BOOL OnUpdateMethod()
类中的虚拟方法CMFCPropertyGridProperty
。只要父属性上的组合框发生更改,该方法的新实现就会更新一些子属性。
所以,我使用CMFCPropertyGridProperty
作为基类创建了一个新类。这是我的问题:我无法前进,因为编译器告诉我没有合适的构造函数可用(错误C2512 )。所以,我试图声明并实现CMFCPropertyGridProperty
的相同构造函数,并生成更多错误!
为了正确实施任何公共虚拟方法,我该怎么办?我相信这个解决方案非常简单,但我在C ++和MFC上都是一个菜鸟。
答案 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)
{
}
};