Visual C++ 6 Unleashed

Visual C++ 6 Unleashed

By Mickey Williams and David Bennett

Chapter 25. Active Documents

by Mark R. Wrenn and Mickey Williams

In This Chapter

Active documents are Component Object Model (COM) software components that present data and information to the user. Active documents enable users to view data in a variety of ways—perhaps as a graph, a spreadsheet, or text, depending on the purpose of the application. An Active document cannot work alone; it always requires an environment in which to work. The environment is called an Active container. Together, through an agreed-upon set of rules, the Active container and Active document work as one and give users the appearance of a single, homogeneous application.

If you look at an Active document running inside an Active container, you can visually identify each component. The Active document occupies the client area of the container and negotiates with the container for menu and toolbar space. The Active container is the frame that surrounds the client area. It shares its menu space and toolbar space with the document. Together, the Active container and Active document appear as a single application—but in fact, they are separate pieces of software that work together cooperatively. The only reason they work together is because each follows a well-documented set of rules or COM interfaces. COM is the foundation of all the object linking and embedding (OLE) and Active Technologies. This chapter requires at least an architectural understanding of COM and looks at some of the COM interfaces involved in writing an Active document, but certainly not all of the COM interfaces available. It is well worth your time to review COM and understand it. This chapter will help clarify and solidify your understanding of how Active documents work.

In addition to exploring the COM interfaces required to create an Active document, this chapter examines what has changed between OLE compound documents and Active documents, what MFCs have been added, and how you can use the Active Template Library to build an Active document. In passing, this chapter mentions Active document containers. For more information about Active document containers, see Chapter 26.

Share ThisShare This

Informit Network