Gurganus and Alexander provide a tutorial on the Microsoft Visual C++ development environment. The book is targeted at beginning programmers with some familiarity with C and C++. Some programming experience in C++, while not required, is strongly recommended in order to get the most from the book. The book assumes that the reader knows the basics of the Microsoft Windows environment. The presentation of the concepts is based on describing the entire development of a Visual C++ application using Microsoft Foundation Classes version 2.0 (MFC 2.0).
The book is divided into nine chapters and three appendices:
Chapters 1 and 2 offer a brief description of the process of installing the Visual C++ development environment and present the software components that will be used in the application development process. Chapter 3 covers some basic concepts of programming through the development of a simple application: a Visual C++ version of the classic “hello world” program using MFC 2.0.
Chapter 4 presents an excellent introduction to application menus as selection tools and gives examples of the possibilities that Visual C++ provides for the creation of different types of menus. Chapter 5 introduces the creation and use of dialogue boxes. It is a brief introduction with a simple example of how to use the dialogue editor and connect the dialogue’s components to the rest of the code of an application.
Chapter 6 presents the MFC 2.0 hierarchy in depth, especially the branches devoted to Windows classes. The components of a window (frame, document, and view) are explained. Chapter 7 illustrates how to use strings as a resource for the input, modification, storage, and retrieval of textual information within Windows.
Chapter 8 discusses how to integrate graphics into a Windows application. Several examples using bitmaps, cursors, and icons are explained. The basics of the Graphics Device Interface (GDI) and the graphic object classes contained in MFC 2.0 are also covered.
Chapter 9 introduces the use of files from an application. The case study is the development of a text editor. Serialization, which is fundamental for saving and retrieving an object to or from a storage medium, is covered briefly.
Appendix A presents the installation procedure for the companion disk, which contains the code of the examples used in chapters 4 through 9. The disk provides an automatic procedure to install the program files on the hard disk. Appendix B briefly explains the sample files that come with the Visual C++ development environment and shows the output they produce; these examples demonstrate how to implement MFC 2.0. Appendix C reproduces the contents of the program files included in the companion disk provided with the book.
The presentation is excellent. The fonts, icons, and graphics used are adequate and facilitate learning. The exercises are easy to follow and their complexity increases through the chapters, allowing readers to check their comprehension of the new material and see the concepts implemented in simple working applications. The structure of the book and the exercises are suitable for self-study.
The book is very concrete, but chapters 8 and 9 present the concepts superficially. The reader will need much additional information before producing an application that uses graphics and files in a real-life context. An introduction to object-oriented programming (OOP) is required for the reader to clearly understand the philosophy of MFC 2.0 and the programming style that Visual C++ promotes, but this material is not provided.
The book can be recommended for developers with working experience in C or C++ and a fair understanding of OOP concepts who want to migrate from other C or C++ environments to the Microsoft Visual C++ development environment. Developers of intermediate-level to advanced applications will find the book extremely introductory; in this case, the book can be supplemented by the excellent documentation provided by Microsoft with the Visual C++ development environment.