Windows MFC Programming I begins with the very fundamentals and, in a step by step, gradient manner, develops most all of the basic Windows programming techniques. There are often many different ways to accomplish the same task. So as you move from example to example, expect to see alternative approaches illustrated. Windows MFC Programming I is not a reference manual; rather, expect to see the “whys†and “how comes†that lie behind many of the approaches and techniques. It is my opinion that if you have a feel for what is really going on, you can do a better job of programming and debugging. The first three chapters present Windows C API (the programming interface); they are designed to get you used to programming in a message-driven style which is completely different from the normal DOS C++ style of programming. In chapter 4, the MFC OOP encapsulation of the Windows API is presented illustrating how the beginning features from the first three chapters are encapsulated. Through the next series of chapters, the GUI is introduced a step at a time, such as timers, colors, resource files, menu operations, icons, cursors, dialog operations, the use of global memory, the new file handling functions, image processing, for example. Tool bars and the status bar are presented next followed by the multiple document interface and clipboard operations. Sound and animation effects continue to explore the possibilities of this rich platform. The final chapter discusses the document-view architecture which many professional applications utilize. This is an extensive topic and is one of the longest chapters in the book. Along the way, you are introduced to the Resource Editor, the Class Wizard, and finally the AppWizard. Each is introduced at that point where you can best utilize it to your advantage and know what you are actually doing with it. Windows MFC Programming I has many complete C++ programming examples. While some of the early ones are fairly simple, the latter ones represent fairly complete applications. The benefit of these extended samples is great; you gain an understanding of how the various messages all operate together. All of these sample programs accompany the book. There are a number of very important application design issues that are written this way. Design Rule 1: They highlight some of the potential traps and pitfalls that lie in waiting. Perhaps the biggest barrier to learning Windows programming is the enormous number of identifiers, key values, the API (Application Programming Interface) and the MFC (Microsoft Foundation Classes) class member functions and variable names. For a beginner and more advanced reader, this proliferation of must-know names and identifiers is nothing short of bewildering. One of the key features of this book is that you will always have a greater certainty about what names must be coded as-is and what you have control over. Typeface conventions are designed to aid you in knowing at a glance what names are yours and what are not. Even though you may use any convention desired in your coding, when you refer to this book, the guess work or hunting has been eliminated. While I hope that the index at the end allows you to rapidly find key items, as a programmer, I know the value of being able to find a key identifier or function in the actual samples themselves. The all-in-one large pdf file is fully searchable. I have reworked my out-of-print Intermediate MFC text, which covers the intermediate MFC programming aspects. The sequel book, Windows MFC Programming II continues where this one leaves off and covers newer MFC classes and many advanced topics not found anywhere else!