Chapter 19. Storing and Printing Documents


  • How serialization 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

  • Which 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

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

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

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.