- Table of Contents
- Copyright
- About the Authors
- About the Contributors
- Acknowledgments
- Tell Us What You Think!
- Introduction
- How to Use This Book
- What You Need to Use This Book
- What's New in Visual C++ 6.0
- Contacting the Main Author
- Part I: Introduction
- Chapter 1. The Visual C++ 6.0 Environment
- Part II: MFC Programming
- Chapter 2. MFC Class Library Overview
- Chapter 3. MFC Message Handling Mechanism
- Chapter 4. The Document View Architecture
- Chapter 5. Creating and Using Dialog Boxes
- Chapter 6. Working with Device Contexts and GDI Objects
- Chapter 7. Creating and Using Property Sheets
- Chapter 8. Working with the File System
- Chapter 9. Using Serialization with File and Archive Objects
- Part III: Internet Programming with MFC
- Chapter 10. MFC and the Internet Server API (ISAPI)
- Chapter 11. The WinInet API
- Chapter 12. MFC HTML Support
- Part IV: Advanced Programming Topics
- Chapter 13. Using the Standard C++ Library
- Chapter 14. Error Detection and Exception Handling Techniques
- Chapter 15. Debugging and Profiling Strategies
- Chapter 16. Multithreading
- Chapter 17. Using Scripting and Other Tools to Automate the Visual C++ IDE
- Part V: Database Programming
- Chapter 18. Creating Custom AppWizards
- Chapter 19. Database Overview
- Chapter 20. ODBC Programming
- Chapter 21. MFC Database Classes
- Chapter 22. Using OLE DB
- Chapter 23. Programming with ADO
- Part VI: MFC Support for COM and ActiveX
- Chapter 24. Overview of COM and Active Technologies
- Chapter 25. Active Documents
- Chapter 26. Active Containers
- Chapter 27. Active Servers
- Chapter 28. ActiveX Controls
- Part VII: Using the Active Template Library
- Chapter 29. ATL Architecture
- Chapter 30. Creating COM Objects Using ATL
- Chapter 31. Creating ActiveX Controls Using ATL
- Chapter 32. Using ATL to Create MTS and COM+ Components
- Part VIII: Finishing Touches
- Chapter 33. Adding Windows Help
- Part IX: Appendix
Chapter 25. Active Documents
by Mark R. Wrenn and Mickey Williams
In This Chapter
- Just What Is an Active Document?
- Some Details About Active Documents
- The COM Interfaces
- The Active Template Library
- The ACTIVEDOC Program
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.
Just What Is an Active Document? | Next Section

Account Sign In
View your cart