Introduction to Windows '98 Programming
Windows 98 is now the world's #1 development environment. This soup-to-nuts introduction to Windows 98 programming gives C and C++ programmers the foundation they need to succeed. Expert programming instructors Chris Pappas and William Murray introduce Windows programming using contemporary object and component-based techniques. You'll start by reviewing the concepts and terminology every Windows programmer needs to know. Next, walk step-by-step through writing some very simple Windows applications using Visual Studio. You'll become familiar with key elements of the Windows programming environment, including GDI drawing primitives; mapping modes; background colors, pens and brushes. Master key Windows resources, such as fonts, icons, cursors, audio, bitmap graphics, menus and keyboard accelerators, dialog boxes and controls. Once you've learned these basics, Murray and Pappas walk you through developing complete applications, and introduce some advanced techniques for sketching, animation, and multimedia. Finally, learn where to go next -- with basic discussions of the MFC library, Microsoft's programming Wizards, and more.
- Paperback | 576 pages
- 175.26 x 231.14 x 25.4mm | 929.86g
- 16 Apr 1999
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
- w. figs.
Table of contents
Preface ONE Understanding Windows Concepts and Terminology. Reasons For Developing Windows Applications. Objects Are Everything. Key Elements of Windows. Beginnings: Windows. Windows As Operating Systems. Common User Interface. Preemptive Multitasking. Greatly Improved Memory Management. Queue-based Input. Message-based Communication. Hardware Independence. Plug and Play. Reusable Dynamic Link Libraries. Win16 versus Win32. Platform Independence. All Platform Compatibility with Win32s. Multiprocessing. Scalability. Distributed Computing. Security. Windows Open Systems Architecture. Crash Management. Virtual Memory. Comparison of Windows. Support for New Technologies. New Wizards and Utilities. Getting Started. Required Software. System Requirements. Windows 98 and NT Concepts and Terminology. Windows versus windows. Creating the "look". The Window Border. The Window Title Bar. The Control Box. The System Menu. The Minimize Box. The Maximize Box. The Terminate Box. The Vertical Scroll Bar. The Horizontal Scroll Bar. The Menu Bar. The Client or Work Area. Object Classes to the Rescue. Using Object-Oriented Technology. Icon Objects. Cursor Objects. Caret Objects. Message Box Objects. Dialog Box Objects. Font Objects. Bitmap Objects. Pen Objects. Brush Objects. Communication Via Messages. Standard Message Formats. Who Sends Messages?. Processing Messages. The Standard Message Loop. Standard Windows Resources. Standard Windows Functions. Calling Convention. A First Look at WINDOWS.H. Understanding the Style of Windows Code. The Seven Fundamental Steps for Developing Windows Programs. The Visual C/C++ Compiler. The Resource Editor. The Resource Compiler. Using The Linker. In the Next Chapter... TWO Step by Step: Writing Simple Windows Applications. Ways to Develop Windows Applications. Starting the Visual Studio. Starting a New Project. Adding Files to a Project. Generating the Executable. Executing Your First Program. Understanding the Simple Windows Template. The Comment Block. . The Callback Function. A Brief Word About Handles. The WinMain() Function. Understanding MSG. Understanding WNDCLASS. swt.cpp WNDCLASS wcApp. Understanding RegisterClass(). Understanding CreateWindow(). Showing and Updating a Window. Creating a Message Loop. Using GetMessage(). Using TranslateMessage(). Using DispatchMessage(). WinMain() return. The Required Window Function. The WM_PAINT Message. The WM_DESTROY Message. The DefWindowProc() Function. The basetsd.h File. Using the Workspace Pane. Additional ReBuild All... File Entries. Additional Rebuild All... Debug File Entries. In the Next Chapter. THREE Windows Details. Accessing the Windows Environment. The Coordinate System. Basic Mapping Modes. Understanding Device Coordinates. Understanding Viewports. Changing Viewport and Window Extents. User-Defined Coordinates. Choosing Initial Window Sizes, Position, Icons, Cursors, and Styles. Displaying the Window with ShowWindow(). Changing the Window with SetClassWord() or SetClassLong(). Commonly Used Controls and Dialog Boxes. What Is a Static Control? What Is a Push-Button Control? What Is a Radio-Button Control? What Is a Check-Box Control? What Is a List Box? What Is an Edit Box? What Is a Scroll Bar Control? What Is A Virtual Key? What Is A System Timer? What Makes the Timer Tick? Effective Use of Timers. Memory. Memory Allocation via the Operating System. Managing Your Memory. Changing a Windows Background Color. Examining the Application File (backgnd.cpp). Changing a Windows Mapping Mode. Examining the Application File (mapper.cpp). Using the System Timer to Control Messages. Examining the Application File (systimer.cpp). Whats Next? FOUR Using Graphics Device Interface Drawing Primitives. The Graphics Device Interface. The GDI Environment. The Default Pixel Mapping Mode. Information on Installed Devices. Using the Device Context Handle. An Introduction to GDI Drawing Primitives. Frequently Used Graphics Primitives. The Arc() and ArcTo() Functions. The Chord() Function. The Ellipse() (and Circle) Function. The LineTo() Function. The MoveToEx() Function. The Pie() Function. The Polygon() Function. The Polyline() and PolylineTo() Functions. The Rectangle() Function. The RoundRect() Function. The SetPixel() and GetPixel() Functions. GDI Tools And Techniques. Pens. Brushes. Changing Text Colors. Drawing Mode Selection. Simple Applications Using GDI Tools and Techniques. Drawing a Variety of Shapes. Creating a Simple Bar Chart. Manipulating Bitmapped Images. The BitBlt() Bitmap Function. Loading and Drawing Bitmapped Images. Writing GDI Applications. FIVE Taking Control Of The Window. Understanding Scroll Bars. Speaking Of Scroll Bars. Scroll Bar Constants. Scroll Bar Range. Scroll Bar Position. Two Types Of Scroll Bars. Adding Scroll Bars To An Application. Examining The Application File (Scroll.Cpp). WM_CREATE. WM_SIZE. WM_HSCROLL. WM_VSCROLL. A Word About WM_PAINT. Using Scroll Bars And The System Timer. Examining The Application File (Ticker.Cpp). WM_TIMER. Whats Happening In WM_PAINT. Scroll Bars Used To Scroll A Table Of Information. Examining The Application File (Loan.Cpp). The Wm_Paint Message Handler. Scroll Bars And Graphics. Examining The Application File (Graphics.Cpp). Scrolling Images Under WM_PAINT. Whats Next? SIX Using Fonts. Windows Font Definitions. Font Constants. The TEXTMETRIC Structure. The LOGFONTA Structure. The Font Character Cell. Font Basics. Font Widths. Automatic Leading and Kerning. OEM Versus ANSI Character Sets. Logical versus Physical Fonts. Vector, Raster, and TrueType Fonts. A Scheme for Mapping Fonts. Font Families. System Default Fonts. Using Printer Fonts. Font Change Example Programs. The CreateFont() Function. The CreateFontIndirect Function. The CF Application. The cf.cpp Application File. The CFI Application. The cfi.cpp Application File. The Count Application. The count.cpp Application File. Looking Ahead. SEVEN Working with Icons and Cursors. Icons and the Resource Editor. Icon Sizes. Custom or Standard Icons? Working with a Large Custom Icon. Working with Large and Small Icons. Special Icon Functions. The LoadIcon() Function. The DrawIcon() and DrawIconEx() Functions. The CreateIconIndirect() Function. The DestroyIcon() Function. Cursors and the Resource Editor. Custom or Standard Cursors. Working with a Custom Cursor. Special Cursor Functions. The LoadCursor() Function. The LoadCursorFromFile() Function. The SetCursor() Function. The SetCursorPos() Function. The ShowCursor() Function. Whats Next? EIGHT Adding Multimedia Sound Resources. Finding and Making Sound Resources. Finding Resources Already on Your Computer. Finding Resources on the Internet. Making Your Own Sound Resources with the Sound Recorder. The sndPlaySound() Function. Adding Multimedia Sound Resources to an Application. More Resources? NINE Creating and Displaying Bitmaps. Images in the Window. Important Windows Bitmap Functions. The BitBlt() Function. Working with GDI Images. Working with Photographs and Scanned Images. The StretchBlt() Function. The SetStretchBltMode() Function. Complete Bitmap Examples. A GDI Graphics Example. Using a Scanned Bitmap Image. Working with a Bitmapped Photograph. More Resources? TEN Adding Menu and Keyboard Accelerators. Menu Concepts. What Is a Menu? Designing a Menu. Designing Keyboard Accelerators. The Resource File. Menus A Variety of Options. Using a Menu to Change the Size of Graphics Shapes. The Header File (Resource.h). The C++ Source Code File (Menu1.cpp). Changing a Background Color with a Menu. The Header File (Resource.h). The Resource File (Menu2.rc). The C++ Source Code File (Menu2.cpp). Determining System Information with a Menu. The Header File (Resource.h). The Resource File (Menu3.rc). The C++ Source Code File (Menu3.cpp). Obtaining Directory Listings with a Menu. The Header File (resource.h). The Resource File (menu4.rc). The C++ Source Code File (Menu4.cpp). Whats Next? ELEVEN Adding Dialog Boxes. What Is a Dialog Box? The Resource Editor. Why Use Resource Editor? Using the Resource Editor. Using Controls in a Dialog Box. Creating an About Dialog Box. Dialog Boxes Solve a Variety of Input Needs. An About Dialog Box Application. The Application File (AboutDlg.cpp). Using Radio Buttons in a Dialog Box. The Application File (ShapeDlg.cpp). Entering Text and Integers in a Dialog Box. The Application File (TxtIntDlg.cpp). Entering Real Numbers in a Dialog Box. The Application File (RealMessgDlg.cpp). Get Ready TWELVE Special Controls and Dialog Boxes. Toolbars and Tooltips. Toolbar Bitmaps. The resource.h Header File. The toolbar.rc Resource Script File. The toolbar.cpp Source Code File. Unique Source Code. Investigating the Spin and Progress Bar Common Controls. A Spin or Up-Down Control. A Progress Control. Project Code. Unique Features. The Common Font Dialog Box. The resource.h Header File. The CommFont.rc Resource Script File. The CommFont.cpp Source Code. Unique Source Code. The Common Color Dialog Box. The resource.h Header File. The CommColor.rc Resource Script File. The CommColor.cpp Source Code. Unique Source Code. Whats Coming? THIRTEEN Developing Complete Applications. The Pie Chart. Unique Coding Features. The Bar Chart. Unique Coding Features. Charting Variations. FOURTEEN Sketching, Animation, and Video. A Mouse Sketching Application. The Sketch Files. The Sketch.cpp Application Code. Flying Saucer Animation Application. A Video Player Application. The Common File Selection Dialog Box. The Code for Playing AVI Files. Experiment and Have Fun. FIFTEEN Building Screen Saver Applications. A Screen Saver Application. Screen Saver Components. The ScrSav Screen Saver Project. Source Code Details. Building the Application. Is There More? SIXTEEN Whats Next? A Look at the Microsoft Foundation Class Library. Why Do I Need the MFC Library? Design Considerations. Cobject. Important Parent Classes. MFC Programming Concepts. Creating a Window. Using the afxwin.h Header File. CTheApp from CwinApp. The CFrameWnd Class. Using Member Functions. The Constructor. Executing the MFC Application. A Complete MFC Application. The SwtMFC.h Header File. The Application File. Running the SwtMFC Project. Whats Really Next? Index
About Chris H. Pappas
William H. Murray is Chair of the Computer Science Department at the State University of New York's extension at Binghamton.
Chris H. Pappas is Professor of Computer Science at the State University of New York's extension at Binghamton
Chris H. Pappas is Professor of Computer Science at the State University of New York's extension at Binghamton