Recommendations for Choosing Between ATL and MFC
For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.
When developing components and applications, you can choose between two approaches — ATL and MFC (the Microsoft Foundation Class Library).
ATL is a fast, easy way to both create a COM component in C++ and maintain a small footprint. Use ATL to create a control if you don't need all of the built-in functionality that MFC automatically provides.
MFC allows you to create full applications, ActiveX controls, and active documents. If you have already created a control with MFC, you may want to continue development in MFC. When creating a new control, consider using ATL if you don't need all of MFC's built-in functionality.
You can add support for using ATL in an existing MFC project by running a wizard. For details, see Adding ATL Support to Your MFC Project.