I was looking at the source code of CRichEditView::GetRichEditCtrl and it looks like they are type casting the view into a ctrl (even though there is no inheritence or subobject of the appropriate type). I've been looking into this but I thought I'd as how these two classes even line up? They don't appear to have much in common, but at the top of the CRichEditCtrl class it mentions:

This class must remain a binary-compatible subset of CRichEditView. Do not add data members or virtual functions directly to this class.
Can someone explain how to "view" these corresponding classes, in spite of their differences. Examples (especially related to CRichEditCtrl/View appreciated), as I'm not really understanding the linkage.