Chapter 17. Storing and Printing Documents

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.

In this chapter, you'll learn about:

  • Serialization and how it works

  • How to make objects of a class serializable

  • The role of a CArchive object in serialization

  • How to implement serialization in your own classes

  • How to implement serialization in the Sketcher application

  • How printing works with MFC

  • What view class functions you can use to support printing

  • What a CPrintInfo object contains and how it's used in the printing process

  • How to implement multipage printing in the Sketcher application

Understanding Serialization

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 ...

Get Ivor Horton's Beginning Visual C++® 2005 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.