In this chapter, we discussed how to use ActiveX controls with Visual Basic and Visual C++. Even though ActiveX controls can be quite complex, implementing the interfaces that turn a typical COM object into an ActiveX control doesn't vary much from one control to another. Similarly, integrating ActiveX controls into an environment is fairly straightforward. Both Visual Basic and Visual C++ make it easy to add controls to the project and to treat them like any other Windows control. In the next chapter, we'll look at ATL windowing in more detail.