In Chapter 8, you learned about some of the characteristics of ActiveX controls that distinguish the controls from other COM objects, and you were introduced to the ActiveX control container. Recall that a container generally implements a user interface and expects the control to participate as part of this user interface. A control exposes a dispatch interface that allows the container to get and set properties and call methods. A control communicates with its container by firing events. ActiveX controls usually implement a property sheet that allows users to change the properties of the control. Control containers are usually capable of persisting the properties of the ActiveX controls they contain.
In this chapter, you will learn about the two most popular methods of Microsoft Visual C++ ActiveX control development. In Lesson 1, you will develop a simple ActiveX control using MFC. In Lesson 2, you will develop the same control using ATL. By creating the same control, you will be able to compare the two development methods and assess which method might be most appropriate in a particular development scenario.
Before you start this chapter, you should have read Chapters 2 through 10, and completed the exercises in the text.