Is it possible to create a class that derives from two or more CWindowImpl-derived classes? Maybe with virtual inheritance? I was trying to do something like this, in order to take advantage of CHAIN_MSG_MAP:
class CClassOne : public virtual CWindowImpl<CClassOne>
{
public:
BEGIN_MSG_MAP(CClassOne)
// ...
END_MSG_MAP()
}
class CClassTwo : public virtual CWindowImpl<CClassTwo>
{
public:
BEGIN_MSG_MAP(CClassTwo)
// ...
END_MSG_MAP()
}
class CClassThree : public CClassOne, public CClassTwo
{
public:
BEGIN_MSG_MAP(CClassThree)
CHAIN_MSG_MAP(CClassOne)
CHAIN_MSG_MAP(CClassTwo)
END_MSG_MAP()
}
But when I instantiate CClassThree and try to call SubclassWindow, I get an ambiguous-access compilation error. So does anybody know how to do this?