Which ATL Classes Facilitate ActiveX Control Containment?

ATL's control hosting code doesn't require you to use any ATL classes, you can simply create an "AtlAxWin" window and use the control hosting API if necessary (for more information, see What Is the ATL Control Hosting API?). However, the following classes make the containment features easier to use.

Class Description
CAxWindow Wraps an "AtlAxWin" window, providing methods for creating the window, creating a control and/or attaching a control to the window, and retrieving interface pointers on the host object.
CComCompositeControl Acts as a base class for ActiveX control classes based on a dialog resource. Such controls can contain other ActiveX controls.
CAxDialogImpl Acts as a base class for dialog classes based on a dialog resource. Such dialogs can contain ActiveX controls.
CWindow Provides a method, GetDlgControl, that will return an interface pointer on a control, given the ID of its host window. In addition, the Windows API wrappers exposed by CWindow generally make window management easier.

ATL Control Containment FAQ