Developing Professional Applications for Windows 98 and NT Using MFC
This book will be updated to cover Windows 98 and the most recent release of NT. The major feature of this edition will be a major code update and rewrite. The book will also feature an updated CD-ROM and a web page supported by interface technology.
- Paperback | 880 pages
- 180.34 x 233.68 x 43.18mm | 1,292.73g
- 01 Jul 1999
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
- 3rd edition
Table of contents
PART I. VISUAL C++ AND MFC BASICS. 1. Introduction. What is the Microsoft Foundation Class Library? Windows Vocabulary. Event-driven Software and Vocabulary. An Example. Conclusion. 2. Understanding an MFC Program. An Introduction to MFC. Designing a Program. Understanding the Code for "Hello World". Completing the Program. MFC Application Structure. Conclusion. 3. Customizing Controls. The Basics. CStatic Styles. CStatic Text Appearance. Rectangular Display Modes for CStatic. Fonts. Conclusion. 4. Handling Events. Understanding Message Maps. The CButton Class. Creating a Message Map. Sizing Messages. Window Messages. Scroll Bar Controls. Understanding Message Maps. Conclusion. 5. Simple Applications. Designing an Application. Implementing the Fahrenheit to Celsius Converter. The CEdit Control. An Interest Calculator. Conclusion. PART II. VISUAL C++ AND MFC DETAILS. 6. Resources, Dialogs, and Menus. Resources and Resource Files. The Icon Resource. Creating a Resource File. Menus. Responding to Menus. Dialog Resources. String Resources. Conclusion. 7. Canned Dialogs. The Message Box Dialog. The File Open/Save Dialog. The Font Dialog. The Color Dialog. The Print Dialog. The Find/Replace Dialog. Conclusion. 8. Edit Controls and Editors. Using the CEdit Control in Single-Line Mode. Using the CEdit Control in Multi-Line Mode. Designing a Simple Text Editor. Creating the Editor Application. Stubbing in the Menu Handlers. Implementing the Editor. Conclusion. 9. Lists. Creating a List Box. Alternate Display Format. Getting User Selections. Manipulating Items in a List. Combo Boxes. Conclusion. 10. The CWinApp class. Member Variables. Icons and Cursors. Handling Idle Time. Application Functionality. Initialization Features. Miscellaneous Features. Conclusion. 11. Drawing. Introduction to the GDI Library. GDI Basics. Device Contexts. Simple Drawing. Using the Mouse with Your Drawings. Advanced Drawing Concepts. Conclusion. 12. Utility Classes. Utility Classes. Simple Array Classes. The CObject class and CObject Arrays. List Classes. Mapping Classes. Conclusion. 13. Debugging and Robustness. Setting Up. Assertions. Tracing. Dumping. Memory State. Exceptions. Other Debugging Features. Conclusion. PART III. USING THE VISUAL C++ WIZARDS AND TOOLS TO CREATE APPLICATIONS. 14. Understanding the AppWizard and ClassWizard. The Goal of the AppWizard. Creating a Simple Framework with the AppWizard. The AppWizards Document-Centric Approach. Understanding the AppWizards Files. Understanding the ClassWizard. Conclusion. 15. Creating a Drawing Program. The Goal of the Application. Creating a Drawing Program. Understanding the Drawing Program. Creating an MDI Application. Scrolling. Splitter Windows. Adding New Menu Options and Dialogs. Printing. Conclusion. 16. Creating an Editor with CEditView. Creating an MDI Text Editor. Understanding the Editor. Combining Two Documents and Views in a Single Application. Fixing a Subtle Problem. Handling Multiple Views on One Document. Conclusion. 17. Creating a Fahrenheit-to-Celsius Converter. Creating the Converter. Understanding the Program. Using DDX. Using the Document Class. Using Form Views. Conclusion. 18. Creating an Address List Application. Creating the Application. Understanding the Address List Program. Understanding DDX and DDV. Improving the Application. Printing. Conclusion. 19. Context-Sensitive Help. Understanding the AppWizards Help Framework. Understanding and Modifying the Help Files. Context-Sensitive Help. Aliases. Conclusion. 20. Common Controls. A Simple Example Using the Spin Button, List, and Tree Controls. CSpinButtonCtrl. CListCtrl. CTreeCtrl. Property Sheets. A Property Sheet Example. The CPropertySheet Class. Conclusion. 21. Creating Explorers. Creating the basic framework. Conclusion. PART IV. ADVANCED FEATURES. 22. Dialog Data. Exchange and Validation. Understanding DDX. Exchange Routines. Transfer Direction. Understanding DDV. An Example. Custom Routines. Conclusion. 23. Understanding MFC. What Are Window Handles? The Life of Windows and Objects. Initializing Dialogs. From HWND to CWnd. Permanent and Temporary Associations. Handles to Other Objects. How Messages Work. Subclassing. Conclusion. 24. Enhancing The Edit Control. An Example. Understanding the Process. Conclusion. 25. Self-Managing Controls. Owner-Drawing vs. Self-Drawing. Owner-Drawn Messages. The Self-Drawing Framework. Behind the Scenes. A General Solution. A Self-Drawing Combo Box. Drawing Transparent Bitmaps. Subclassing the Combo Box. Conclusion. 26. Another Look - A Self-Drawing List Box. Introduction to Font Enumeration. Enumerating Font Families. Enumerating Font Styles. An Example. Conclusion. 27. Creating A Splash Screen. An Example. Conclusion. 28. Expanding Dialogs. The CExpandingDialog Class. An Example. Conclusion. 29. Drawing and Controls. Drawing in CStatic Controls. Drawing in Dialogs. Dialog Controls and the Background. Conclusion. 30. Dialog Bars. An Example. Data Exchange. Conclusion. 31. Dialog and View Idle Command Updating. How Idle Updates Work. Idle Updating in Views. An Example. Idle Updating in Dialogs. An Example. Conclusion. 32. Odds and Ends. Accepting Files from the File Manager. Making an Application the Topmost Window. Starting an Application Minimized. Modeless Dialog Boxes. Mini-Frame Windows. Context Popup Menus. Modifying the System Menu. Conclusion. PART V. ADVANCED MFC CLASSES. 33. Database Access. Understanding Relational Databases. Understanding SQL. Understanding ODBC. Microsoft Query. The CRecordSet Class. Simple CRecordSet Operations. Using the CRecordView Class. Adding and Deleting Records. Conclusion. 34.OLE. Understanding OLE. An Example. OLE as a Vision of the Future. Standard OLE Features. An Introduction to OLE Containers. An Introduction to OLE Servers. An Introduction to OLE Automation. An Introduction to OLE Controls. Conclusion. 35. MFC Threads. Understanding the Possibilities. Understanding Threads. MFC Worker Threads. Thread Termination. Passing Parameters to Threads. Suspending and Resuming Threads. Thread Priorities. Subclassing CWinThread. User Interface Threads. Conclusion. Appendix A: Understanding C++: An Accelerated Introduction. Appendix B: Using the Visual C++ Compiler and Tools. Compiling and Executing a Console Program with Visual C++. Debugging. Compiling MFC Programs. The Browser. Resources and resource files. AppWizard Files. Using the ClassWizard. OLE Controls. Conclusion. Appendix C: Contacting the Authors. Appendix D: Using OpenGL with MFC. Writing an OpenGL Program. Simple 2-D Graphics. Transformations and the Matrix Stack. Mouse Action. Double Buffering. A Three Dimensional Cube. Z-Buffering. Conclusion. Index.
About Marshall Brain
Marshall Brain is founder and principal of Interface Technologies, Research Triangle, NC. His firm specializes in software training for developers at leading financial companies. He is the author of Win32 System Services (Prentice Hall). Lance Lovette is a project team leader for application software design and implementation using MFC under Windows 98 and NT, and a Microsoft Certified Instructor.