Chapter 19. Storing and Printing Documents
WHAT YOU WILL LEARN IN THIS CHAPTER
How serialization works
How to make objects of a class serializable
The role of a
CArchiveobject in serialization
How to implement serialization in your own classes
How to implement serialization in the Sketcher application
How printing works with MFC
Which view class functions you can use to support printing
CPrintInfoobject contains and how it's used in the printing process
How to implement multipage printing in the Sketcher application
With what you have accomplished so far in the Sketcher program, you can create a reasonably comprehensive document with views at various scales, but the information is transient because you have no means of saving a document. In this chapter, you'll remedy that by seeing how you can store a document on disk. You'll also investigate how you can output a document to a printer.
A document in an MFC-based program is not a simple entity — it's a class object that can be very complicated. It typically contains a variety of objects, each of which may contain other objects, each of which may contain still more objects. . . and that structure may continue for a number of levels.
You want to be able to save a document in a file, but writing a class object to a file represents something of a problem because it isn't the same as a basic data item like an integer or a character string. A basic data item consists of a known number of bytes, so to write it to ...