Visual C++ and MFC Programming 2nd Edition

(Martin Jones) #1

  • TABLE OF FIGURES............................................................................................... Table of Contents

  • CHAPTER 1: INTRODUCTION TO MICROSOFT VISUAL C++...........

    • 1.1 The Microsoft Visual C++ Environment.....................................................

      • 1.1.1 Introduction..............................................................................................

      • 1.1.2 The Integrated Development Environment........................................

      • 1.1.3 The Title Bar............................................................................................

      • 1.1.4 The Main Menu.......................................................................................

      • 1.1.5 The Toolbars............................................................................................

      • 1.1.6 The Studio Windows..............................................................................



    • 1.2 Floatable and Dockable Windows................................................................

      • 1.2.1 Description...............................................................................................



    • 1.3 Visual C++ Projects and Files.......................................................................

      • 1 .3.1 Creating a New Project..........................................................................

      • 1.3.2 Creating Files...........................................................................................

      • 1.3.3 Adding Existing Files to a Project.......................................................

      • 1.3.4 Adding Classes........................................................................................

      • 1.3.5 Opening Files...........................................................................................

      • 1.3.6 Opening Existing Projects.....................................................................



    • 1.4 Getting Help.....................................................................................................

      • 1.4.1 Online Help..............................................................................................

      • 1.4.2 Other Help Types....................................................................................





  • CHAPTER 2: INTRODUCTION TO MFC.......................................................

    • 2.1 The Microsoft Foundation Class Library....................................................

      • 2.1.1 Introduction..............................................................................................

      • 2.1.2 CObject, the Ancestor............................................................................

      • 2.1.3 The Basic Application............................................................................



    • 2.2 Frames Fundamentals.....................................................................................

      • 2.2.1 Introduction..............................................................................................

      • 2.2.2 Reference to the Main Window............................................................

      • 2.2.3 Introduction to Macros...........................................................................

      • 2.2.4 Windows Styles.......................................................................................

      • 2.2.5 Windows Location..................................................................................

      • 2.2.6 Windows Size..........................................................................................

      • 2.2.7 Windows Dimensions............................................................................

      • 2.2.8 Windows Parents....................................................................................



    • 2.3 Message Boxes.................................................................................................

      • 2.3.1 Definition.................................................................................................

      • 2.3.2 Message Box Creation...........................................................................

      • 2.3.3 Message Box Implementation..............................................................

      • 2.3.4 The Box’ Message..................................................................................

      • 2.3.5 The Message’ Title.................................................................................

      • 2.3.6 Message Box Options............................................................................

      • 2.3.7 The Message’s Return Value................................................................





  • CHAPTER 3: WINDOWS RESOURCES..........................................................

    • 3.1 Introduction to Resources.............................................................................. Table of Contents Visual C++ and MFC Fundamentals

      • 3.1.1 Introduction..............................................................................................

      • 3.1.2 Converting a Resource Identifier.........................................................



    • 3.2 Icons...................................................................................................................

      • 3.2.1 Icons Overview.......................................................................................

      • 3.2.2 Icons Design............................................................................................



    • 3.3 Menu Fundamentals........................................................................................

      • 3.3.1 Overview..................................................................................................

      • 3.3.2 The Main Menu.......................................................................................

      • 3.3.3 Main Menu Design.................................................................................



    • 3.4 Toolbars.............................................................................................................

      • 3.4.1 Overview..................................................................................................

      • 3.4.2 Creating a Toolbar..................................................................................



    • 3.5 Accelerators......................................................................................................

      • 3.5.1 Access Keys.............................................................................................

      • 3.5.2 Shortcuts...................................................................................................

      • 3.5.3 Accelerator Table....................................................................................



    • 3 .6 Version Information........................................................................................

      • 3.6.1 Overview..................................................................................................

      • 3.6.2 The Version Information Editor...........................................................



    • 3.7 Cursors..............................................................................................................

      • 3.7.1 Overview..................................................................................................

      • 3.7.2 Creating and Using Cursors..................................................................



    • 3.8 The String Table..............................................................................................

      • 3.8.1 Description...............................................................................................

      • 3.8.2 Creating and Using a String Table.......................................................



    • 3.9 Other Techniques of Creating Windows.....................................................

      • 3.9.1 Window Registration and Standard Resources..................................

      • 3.9.2 Window Registration and Custom Resources....................................

      • 3.9.3 Frame Loading........................................................................................





  • CHAPTER 4: MESSAGES AND EVENTS......................................................

    • 4.1 Introduction to Messages............................................................................

      • 4.1.1 Overview...............................................................................................

      • 4.1.2 A Map of Messages.............................................................................



    • 4.2 Windows Messages......................................................................................

      • 4.2.1 Window Creation.................................................................................

      • 4.2.2 Window's Showing State....................................................................

      • 4.2.3 Window Activation.............................................................................

      • 4.2.4 Window Painting.................................................................................

      • 4.2.5 Window Sizing.....................................................................................

      • 4.2.6 Window Moving..................................................................................

      • 4.2.7 Window Destruction...........................................................................



    • 4.3 Command Messages....................................................................................

      • 4.3.1 Definition..............................................................................................

      • 4.3.2 Creating a Command Message..........................................................



    • 4.4 Keyboard Messages.....................................................................................

      • 4.4.1 Introduction...........................................................................................

      • 4.4.2 The Key Down Effect.........................................................................

      • 4.4.3 The Key Up Effect...............................................................................



    • 4.5 Mouse Messages...........................................................................................

      • 4.5.1 Introduction...........................................................................................

      • 4.5.2 Mouse-Down Messages......................................................................

      • 4.5.3 The Mouse-Up Messages...................................................................

      • 4.5.4 The Double-Click Message................................................................

      • 4.5.5 Mouse Moving..................................................................................... Visual C++ and MFC Fundamentals Table of Contents



    • 4.6 Anytime Messages.......................................................................................

      • 4.6.1 Introduction...........................................................................................

      • 4.6.2 Sending Messages................................................................................





  • CHAPTER 5: THE DOCUMENT/VIEW ARCHITECTURE....................

    • 5.1 Overview of the Document/View Architecture.......................................

      • 5.1.1 Introduction...........................................................................................

      • 5.1.2 The View...............................................................................................

      • 5.1.3 The Document......................................................................................

      • 5.1.4 The Frame.............................................................................................

      • 5.1.5 The Document/View Approach.........................................................



    • 5.2 The Single Document Interface (SDI)......................................................

      • 5.2.1 Overview...............................................................................................

      • 5.2.2 Creating a Single Document Interface.............................................



    • 5.3 SDI Improvements.......................................................................................

      • 5.3.1 SDI Improvements: The Application...............................................

      • 5.3.2 SDI Improvements: The Document..................................................

      • 5.3.3 SDI Improvements: The Frame.........................................................

      • 5.3.4 SDI Improvements: The View...........................................................



    • 5.4 The Multiple Document Interface (MDI).................................................

      • 5.4.1 Overview...............................................................................................

      • 5.4.2 Creating a Multiple Document Interface.........................................

      • 5.4.3 The Visual C++ AppWizard..............................................................



    • 5.5 The AppWizard.............................................................................................

      • 5.5.1 An SDI With AppWizard...................................................................

      • 5.5.2 An MDI With AppWizard..................................................................





  • CHAPTER 6: THE GRAPHICAL DEVICE INTERFACE........................

    • 6.1 Introduction to the GDI...............................................................................

      • 6.1.1 The Device Context.............................................................................

      • 6.1.2 Grabbing the Device Context............................................................



    • 6.2 The Process of Drawing..............................................................................

      • 6.2.1 Getting a Device Context...................................................................

      • 6.2.2 Starting a Device Context's Shape....................................................



    • 6.3 GDI Lines and Shapes.................................................................................

      • 6.3.1 Lines.......................................................................................................

      • 6.3.2 Polylines................................................................................................

      • 6.3.3 Multiple Polylines................................................................................

      • 6.3.4 Polygons................................................................................................

      • 6.3.5 Multiple Polygons................................................................................

      • 6.3.6 Rectangles and Squares......................................................................

      • 6.3.7 A Rectangle With Edges.....................................................................

      • 6.3.8 Ellipses and Circles.............................................................................

      • 6.3.9 Round Rectangles and Round Squares............................................

      • 6.3.10..Pies.........................................................................................................

      • 6.3.11..Arcs........................................................................................................

      • 6.3.12..The Arc's Direction.............................................................................

      • 6.3.13..Angular Arcs........................................................................................

      • 6.3.14..Chords...................................................................................................

      • 6.3.15..Bézier Curves.......................................................................................





  • CHAPTER 7: GDI ACCESSORIES AND TOOLS.......................................

    • 7.1 Colors.............................................................................................................

      • 7.1.1 Overview............................................................................................... Table of Contents Visual C++ and MFC Fundamentals

      • 7.1.2 The Color as a Data Type...................................................................

      • 7.1.3 Color Palettes........................................................................................



    • 7.2 Drawing With Colors...................................................................................

      • 7.2.1 Coloring a Pixel....................................................................................

      • 7.2.2 Rectangles With 3-D Effect...............................................................

      • 7.2.3 Drawing Text........................................................................................



    • 7.3 Bitmaps...........................................................................................................

      • 7.3.1 Introduction...........................................................................................

      • 7.3.2 Bitmap Creation...................................................................................



    • 7.4 Fonts...............................................................................................................

      • 7.4.1 Introduction...........................................................................................

      • 7.4.2 Font Selection.......................................................................................

      • 7.4.3 Font Creation........................................................................................

      • 7.4.4 Font Retrieval.......................................................................................



    • 7.5 Pens.................................................................................................................

      • 7.5.1 Introduction...........................................................................................

      • 7.5.2 The Fundamentals of a Pen................................................................

      • 7.5.3 Creating and Selecting a Pen.............................................................

      • 7.5.4 Retrieving a Pen...................................................................................



    • 7.6 Brushes...........................................................................................................

      • 7.6.1 Introduction...........................................................................................

      • 7.6.2 Solid Brushes........................................................................................

      • 7.6.3 Hatched Brushes..................................................................................

      • 7.6.4 Patterned Brushes................................................................................

      • 7.6.5 Logical Brushes....................................................................................





  • CHAPTER 8: GDI ORIENTATION AND TRANSFORMATIONS........

    • 8.1 The Default Coordinate System.................................................................

      • 8.1.1 Introduction...........................................................................................

      • 8.1.2 Changing the Coordinate System......................................................



    • 8.2 The Mapping Modes....................................................................................

      • 8.2.1 Mapping Mode Choices......................................................................

      • 8.2.2 Unit and Coordinate Systems Options.............................................





  • CHAPTER 9: STRINGS.........................................................................................

    • 9.1 Fundamentals of Strings..............................................................................

      • 9.1.1 Null-Terminated Strings.....................................................................

      • 9.1.2 The Standard string Class...................................................................

      • 9.1.3 The Length of a String........................................................................

      • 9.1.4 String Formatting.................................................................................



    • 9.2 Operations of Strings...................................................................................

      • 9.2.1 String Copy...........................................................................................

      • 9.2.2 String Concatenation...........................................................................



    • 9.3 The Characters of a String..........................................................................

      • 9.3.1 Access to Characters...........................................................................

      • 9.3.2 Sub-Strings............................................................................................



    • 9.4 The CString Class.........................................................................................

      • 9.4.1 Introduction...........................................................................................

      • 9.4.2 String Initialization..............................................................................

      • 9.4.3 The String and its Length...................................................................



    • 9.5 Working with Individual Characters.........................................................

      • 9.5.1 Character Indexing..............................................................................

      • 9.5.2 Character Insertion..............................................................................

      • 9.5.3 Finding a Character.............................................................................

      • 9.5.4 Character Identification...................................................................... Visual C++ and MFC Fundamentals Table of Contents

      • 9.5.5 Removing Characters..........................................................................



    • 9.6 Sub Strings.....................................................................................................

      • 9.6.1 Introduction...........................................................................................

      • 9.6.2 Finding a Sub String............................................................................

      • 9.6.3 Character and String Removal...........................................................

      • 9.6.4 Replacing String Occurrences...........................................................

      • 9.6.5 String Formatting.................................................................................



    • 9.7 Operations on Strings...................................................................................

      • 9.7.1 About Constructing a String..............................................................

      • 9.7.2 String Assignment...............................................................................

      • 9.7.3 String Copy...........................................................................................

      • 9.7.4 Strings and Their Cases......................................................................



    • 9.8 String Comparisons......................................................................................

      • 9.8.1 Case Sensitivity....................................................................................

      • 9.8.2 Case Insensitivity.................................................................................





  • CHAPTER 10: CHARACTERISTICS OF A WINDOW'S FRAME........

    • 10.1 Introduction to Win32 Library..................................................................

      • 10.1.1..Overview...............................................................................................

      • 10.1.2..The Framework....................................................................................

      • 10.1.3..A Window's Instance..........................................................................

      • 10.1.4..The Command Line.............................................................................

      • 10.1.5..Frame Display Options.......................................................................

      • 10.1.6..Window Class Initialization..............................................................

      • 10.1.7..Window Registration..........................................................................



    • 10.2 Window Creation.........................................................................................

      • 10.2.1..The Main Window..............................................................................

      • 10.2.2..The Window Class Name...................................................................

      • 10.2.3..The Window Name.............................................................................

      • 10.2.4..Windows Styles...................................................................................

      • 10.2.5..Window's Location and Size.............................................................

      • 10.2.6..Window's Parenting............................................................................

      • 10.2.7..The Window's Menu...........................................................................

      • 10.2.8..Window Display..................................................................................

      • 10.2.9..Considering Window's Messages.....................................................



    • 10.3 The Mini Frame Window...........................................................................

      • 10.3.1..Introduction..........................................................................................

      • 10.3.2..Creation of a Miniframe Window.....................................................





  • CHAPTER 11: INTRODUCTION TO WINDOWS CONTROLS............

    • 11.1 Controls Fundamentals...............................................................................

      • 11.1.1..Introduction..........................................................................................

      • 11.1.2..The Parent-Child Window Relationship..........................................



    • 11.2 Parent Controls.............................................................................................

      • 11.2.1..Definition..............................................................................................

      • 11.2.2..Parent Windows Styles.......................................................................



    • 11.3 Windows Controls.......................................................................................

      • 11.3.1..Introduction..........................................................................................

      • 11.3.2..Control Creation Options...................................................................

      • 11.3.3..The Control's Class Name..................................................................

      • 11.3.4..The Control's Window Name............................................................



    • 11.4 Controls Styles and Common Properties.................................................

      • 11.4.1..Childhood..............................................................................................

      • 11.4.2..Visibility................................................................................................

      • 11.4.3..Availability........................................................................................... Table of Contents Visual C++ and MFC Fundamentals

      • 11.4.4..Borders..................................................................................................

      • 11.4.5..Tab Sequence.......................................................................................



    • 11.5 Extended Styles............................................................................................

      • 11.5.1..Introduction..........................................................................................

      • 11.5.2..Left Text Alignment............................................................................

      • 11.5.3..Right Text Alignment.........................................................................

      • 11.5.4..Extended Borders................................................................................

      • 11.5.5..Controls Location and Dimensions..................................................

      • 11.5.6..Parenthood............................................................................................

      • 11.5.7..Control Identification..........................................................................





  • CHAPTER 12: DIALOG-BASED WINDOWS...............................................

    • 12.1 Dialog Boxes................................................................................................

      • 12.1.1..Overview...............................................................................................

      • 12.1.2..Dialog Box Creation...........................................................................

      • 12 .1.3..Dialog Box Location...........................................................................

      • 12.1.4..Dialog Box Dimensions.....................................................................

      • 12.1.5..Windows Styles for a Dialog Box....................................................

      • 12.1.6..Dialog Box Styles................................................................................

      • 12.1.7..Extended Windows Styles for a Dialog Box..................................

      • 12.1.8..Creating the Dialog Resource File....................................................

      • 12.1.9..Creating a Class for the Dialog.........................................................

      • 12.1.10Dialog Box Methods...........................................................................



    • 12.2 Modal Dialog Boxes...................................................................................

      • 12.2.1..Dialog-Based Applications................................................................

      • 12.2.2..The MFC Wizard for a Dialog-Based Application........................

      • 12.2.3..A Modal Dialog Box in an Application...........................................



    • 12.3 Property Sheets and Wizards.....................................................................

      • 12.3.1..Introduction to Property Pages..........................................................

      • 12.3.2..Creating Property Pages.....................................................................

      • 12.3.3..Property Sheets....................................................................................

      • 12.3.4..Wizard Pages........................................................................................





  • CHAPTER 13: CONTROL DESIGN..................................................................

    • 13.1 Forms.............................................................................................................

      • 13.1.1..Introduction..........................................................................................

      • 13.1.2..Form Creation......................................................................................



    • 13.2 Dialog Box Messages and Events.............................................................

      • 13.2.1..The Dialog Box as a Control Initializer...........................................

      • 13.2.2..Other Dialog-Based Windows Messages........................................

      • 13.2.3..Control-Related Messages.................................................................



    • 13.3 Floating Windows.......................................................................................

      • 13.3.1..Introduction..........................................................................................

      • 13.3.2..The Modeless Dialog Box..................................................................

      • 13.3.3..Modeless Property Sheets..................................................................



    • 13.4 Control Design.............................................................................................

      • 13.4.1..Controls Selection and Addition.......................................................

      • 13.4.2..Control’s Location and Size Using Grids........................................

      • 13.4.3..Control’s Location and Size Without Grids....................................

      • 13.4.4..Selecting Controls on a Parent Window..........................................

      • 13.4.5..Controls Resizing................................................................................

      • 13.4.6..Controls Positions................................................................................

      • 13.4.7..Tab Ordering........................................................................................





  • CHAPTER 14: CONTROLS FUNCTIONALITY......................................... Visual C++ and MFC Fundamentals Table of Contents

    • 14.1 Handling Controls.......................................................................................

      • 14.1.1..Introduction..........................................................................................

      • 14.1.2..Control's Control Variables:..............................................................

      • 14.1.3..The Control’s Data Exchange...........................................................

      • 14.1.4..Control’s Value Variables..................................................................

      • 14.1.5..Controls Event Handlers....................................................................



    • 14.2 Controls Management.................................................................................

      • 14.2.1..Control’s Identification......................................................................

      • 14.2.2..The Client Area....................................................................................

      • 14.2.3..The Screen and Client Coordinates..................................................

      • 14.2.4..The Window: Its Location and Dimensions...................................

      • 14.2.5..The Handle or Pointer to a Window.................................................

      • 14.2.6..The Text of a Control..........................................................................

      • 14.2.7..Controls Values Update......................................................................

      • 14.2.8..Window’s Focus..................................................................................

      • 14.2.9..The Window’s Visibility....................................................................

      • 14.2.10The Window’s Availability...............................................................



    • 14.3 Access to a Controls Instance and Handle..............................................

      • 14.3.1..The Instance of an Application.........................................................

      • 14.3.2..The Handle to a Window...................................................................



    • 14.4 Getting Access to a Control.......................................................................

      • 14.4.1..Retrieving Control Information.........................................................

      • 14.4.2..Changing Control Information..........................................................





  • CHAPTER 15: FUNDAMENTAL CONTROLS............................................

    • 15.1 Static Controls..............................................................................................

      • 15.1.1..Introduction..........................................................................................

      • 15.1.2..Static Control Properties....................................................................

      • 15.1.3..The Picture Control.............................................................................



    • 15.2 Animation Controls.....................................................................................

      • 15.2.1..Overview...............................................................................................

      • 15.2.2..Animation Control and Properties....................................................

      • 15.2.3..Animation Methods.............................................................................



    • 15.3 Group Boxes.................................................................................................

      • 15.3.1..Introduction..........................................................................................

      • 15.3.2..Group Box Properties and Data Exchange......................................



    • 15.4 Command Buttons.......................................................................................

      • 15.4.1..Overview...............................................................................................

      • 15.4.2..Command Buttons Properties and Methods....................................

      • 15.4.3..Buttons Messages................................................................................



    • 15.5 Property Sheet and Wizard Buttons.........................................................

      • 15.5.1..Property Sheet Buttons.......................................................................

      • 15.5.2..Wizard Buttons....................................................................................



    • 15.6 Bitmap Buttons............................................................................................

      • 15.6.1..Overview...............................................................................................

      • 15.6.2..Bitmap Button Implementation.........................................................





  • CHAPTER 16: TEXT-BASED CONTROLS...................................................

    • 16.1 Labels............................................................................................................

      • 16.1.1..Overview...............................................................................................

      • 16.1.2..Drawn Labels.......................................................................................

      • 16.1.3..Static Labels.........................................................................................



    • 16.2 Edit Controls................................................................................................

      • 16.2.1..Introduction.......................................................................................... Table of Contents Visual C++ and MFC Fundamentals

      • 16.2.2..Edit Control Characteristics...............................................................

      • 16.2.3..Multiline Edit Boxes...........................................................................

      • 16.2.4..Edit Control Messages........................................................................



    • 16.3 The Rich Edit Control.................................................................................

      • 16.3.1..Overview...............................................................................................

      • 16.3.2..A Rich Edit Control............................................................................

      • 16.3.3..Rich Edit Properties............................................................................





  • CHAPTER 17: TRACK-BASED CONTROLS...............................................

    • 17.1 Spin Button...................................................................................................

      • 17.1.1..Overview...............................................................................................

      • 17.1.2..Creating a Spin Button.......................................................................

      • 17.1.3..The Spin Button Properties................................................................

      • 17.1.4..Methods of Managing an UpDown Control...................................

      • 17.1.5..The Spin Button Events......................................................................



    • 17.2 The UpDown Control.................................................................................

      • 17.2.1..Overview...............................................................................................

      • 17.2.2..Using an UpDown Control................................................................

      • 1 7.2.3..The UpDown Control Events............................................................



    • 17.3 Slider Controls.............................................................................................

      • 17.3.1..Overview...............................................................................................

      • 17.3.2..Slider Creation.....................................................................................

      • 17.3.3..Slider Properties...................................................................................

      • 17.3.4..Slider Methods.....................................................................................

      • 17.3.5..Slider Events........................................................................................





  • CHAPTER 18: PROGRESS-BASED CONTROLS.......................................

    • 18.1 Timers............................................................................................................

      • 18.1.1..Overview...............................................................................................

      • 18.1.2..The Timer Control...............................................................................

      • 18.1.3..The Timer Messages and Methods...................................................

      • 18.1.4..The Tick Counter.................................................................................



    • 18.2 Progress Controls.........................................................................................

      • 18.2.1..Overview...............................................................................................

      • 18.2.2..Progress Bar Properties......................................................................

      • 18.2.3..Progress Control Methods and Events.............................................



    • 18.3 Progress Bars................................................................................................

      • 18.3.1..Introduction..........................................................................................

      • 18.3.2..Creating Progress Bars.......................................................................

      • 18.3.3..Progress Bars Methods and Events..................................................



    • 18.4 Scroll Bars....................................................................................................

      • 18.4.1..Introduction..........................................................................................

      • 18.4.2..Creating Scroll Bars on Views and Dialog Boxes.........................

      • 18.4.3..Creating a Scroll Bar Control............................................................

      • 18.4.4..ScrollBar Properties............................................................................

      • 18.4.5..Scroll Bar Methods..............................................................................

      • 18.4.6..Scroll Bar Events.................................................................................



    • 18.5 Flat Scroll Bars............................................................................................

      • 18.5.1..Overview...............................................................................................

      • 18.5.2..Flat Scroll Bar Properties...................................................................

      • 18.5.3..Flat Scroll Bar Methods and Events.................................................





  • CHAPTER 19: SELECTION-BASED CONTROLS.....................................

    • 1 9.1 Radio Buttons............................................................................................... Visual C++ and MFC Fundamentals Table of Contents

      • 19.1.1..Introduction..........................................................................................

      • 19.1.2..Creating Radio Buttons......................................................................

      • 19.1.3..Radio Button Properties.....................................................................

      • 19.1.4..Radio Buttons Methods......................................................................

      • 19.1.5..Radio Buttons Events..........................................................................



    • 19.2 Check Boxes.................................................................................................

      • 19.2.1..Introduction..........................................................................................

      • 19.2.2..Check Box Properties.........................................................................

      • 19.2.3..Check Box Methods............................................................................

      • 19.2.4..Check Box Events...............................................................................





  • CHAPTER 20: LIST-BASED CONTROLS.....................................................

    • 20.1 List Boxes.....................................................................................................

      • 20.1.1..Overview...............................................................................................

      • 20.1.2..List Box Fundamentals.......................................................................

      • 20.1.3..List Box Methods................................................................................

      • 20.1.4..List Box Messages and Events..........................................................



    • 20.2 Combo Boxes...............................................................................................

      • 20.2.1..Overview...............................................................................................

      • 20.2.2..Combo Box Properties........................................................................

      • 20.2.3..Combo Box Methods..........................................................................

      • 20.2.4..Combo Box Messages and Events....................................................



    • 20.3 Image Lists...................................................................................................

      • 20.3.1..Introduction..........................................................................................

      • 20.3.2..Image List Creation.............................................................................





  • CHAPTER 21: TREE AND LIST CONTROLS.............................................

    • 21.1 The Tree Control.........................................................................................

      • 21.1.1..Overview...............................................................................................

      • 21.1.2..Tree List Properties.............................................................................

      • 21.1.3..Tree Controls Methods.......................................................................

      • 21.1.4..Tree Control Messages.......................................................................

      • 21.1.5..Tree Control With Bitmaps or Icons................................................



    • 21.2 The Tree View.............................................................................................

      • 21.2.1..Overview...............................................................................................

      • 21.2.2..Tree View Implementation................................................................



    • 21.3 The List Control...........................................................................................

      • 21.3.1..Overview...............................................................................................

      • 21.3.2..List Control Creation..........................................................................

      • 21.3.3..Items of a List Control........................................................................

      • 21.3.4..The Report View.................................................................................

      • 21.3.5..Views Transition..................................................................................

      • 21.3.6..List Control and Icons........................................................................



    • 21.4 The List View...............................................................................................

      • 21.4.1..Overview...............................................................................................

      • 21.4.2..List View Implementation.................................................................





  • CHAPTER 22: CUSTOM LIBRARIES............................................................

    • 22.1 Introduction to Libraries.............................................................................

      • 22.1.1..Overview...............................................................................................

      • 22.1.2..Libraries Characteristics.....................................................................



    • 22.2 General Static Libraries..............................................................................

      • 22.2.1..Introduction..........................................................................................

      • 22.2.2..Creation of a Static Library............................................................... Table of Contents Visual C++ and MFC Fundamentals



    • 22.3 MFC Static Libraries...................................................................................

      • 22.3.1..Introduction..........................................................................................

      • 22.3.2..Creation of an MFC Static Library...................................................

      • 22.3.3..MFC Static Library Test....................................................................



    • 22.4 Win32 DLL..................................................................................................

      • 22.4.1..Introduction..........................................................................................

      • 22.4.2..Fundamentals of a DLL......................................................................

      • 22.4.3..Win32 DLL Test..................................................................................



    • 22.5 DLL Module-Definition Files...................................................................

      • 22.5.1..Definition File Fundamentals............................................................

      • 22.5.2..Usage of a Definition File DLL........................................................





  • INDEX..........................................................................................................................

  • Figure 1: Microsoft Visual Studio IDE....................................................................................... Table of Figures

  • Figure 2: Open Workspace...........................................................................................................

  • Figure 3: Customizing the IDE Resources.................................................................................

  • Figure 4: The Workspace Window..............................................................................................

  • Figure 5: The Resource View.......................................................................................................

  • Figure 6: The ResourceView tab of the Worskpace.................................................................

  • Figure 7: The Source Code Editor..............................................................................................

  • Figure 8: Moving a Dockable Window......................................................................................

  • Figure 9: Creating a New Project - Exercise1...........................................................................

  • Figure 10: Win32 Application Wizard - Exercise1..................................................................

  • Figure 11: Adding a C++ Class....................................................................................................

  • Figure 12: File Opening in Visual Studio..................................................................................

  • Figure 13: Opening a File With the Open Dialog Box............................................................

  • Figure 14: A Microsoft Visual C++ Message Box...................................................................

  • Figure 15: The Options Dialog Box............................................................................................

  • Figure 16: New Project - Windows Fundamentals...................................................................

  • Figure 17: Win32 Application Wizard - Windows Fundamentals.........................................

  • Figure 18: Window Frame Property Pages................................................................................

  • Figure 19: ADd New Item - Windows Fundamentals..............................................................

  • Figure 20: Microsoft Development Environment - Message Box.........................................

  • Figure 21: Window Illustration....................................................................................................

  • Figure 22: A Window Frame with Title Bar..............................................................................

  • Figure 23: A Window Frame with no Caption..........................................................................

  • Figure 24: Windows Application.................................................................................................

  • Figure 25: The Title Bar of a Frame...........................................................................................

  • Figure 26: A Frame with System Menu.....................................................................................

  • Figure 27: A Frame with a Minimize Button............................................................................

  • Figure 28: A Frame with a Maximize Button............................................................................

  • Figure 29: Windows Application - Resizing.............................................................................

  • Figure 30: Illustration of Window Origin..................................................................................

  • Figure 31: Illustration of Window Location..............................................................................

  • Figure 32: Illustration of Window Origin and Location.........................................................

  • Figure 33: Illustration of Window Location, Origin, and Size...............................................

  • Figure 34: A Simple Message Box..............................................................................................

  • Figure 35: An Elaborate Message Box.......................................................................................

  • Figure 36: Components of a Message Box................................................................................

  • Figure 37: A Simple Message Box with MessageBox()..........................................................

  • Figure 38: A Message's Box on Various Lines.........................................................................

  • Figure 39: Creating a Multiline Message Box...........................................................................

  • Figure 40: A Message Box with Various Buttons.................................................................... Chapter 1: Introduction to Visual C++ Visual C++ and MFC Fundamentals

  • Figure 41: A Message Box with an Icon....................................................................................

  • Figure 42: Creating a Message Box............................................................................................

  • Figure 43: Creating an Elaborate Message Box........................................................................

  • Figure 44: Add Resource - Icon...................................................................................................

  • Figure 45: Add Resource - Icon...................................................................................................

  • Figure 46: Simple Menu................................................................................................................

  • Figure 47: Version Table...............................................................................................................

  • Figure 48: Resource Symbols.......................................................................................................

  • Figure 49: New Symbol................................................................................................................

  • Figure 50: Notepad as an SDI...................................................................................................

  • Figure 51: New Project - DocView1........................................................................................

  • Figure 52: Win32 Application Wizard - DocView1.............................................................

  • Figure 53: DocView1 Property Pages......................................................................................

  • Figure 54: Adding an Icon Resource........................................................................................

  • Figure 55: Icon Design - DocView1........................................................................................

  • Figure 56: Icon Design - DocView2........................................................................................

  • Figure 57: A Tree List With One Root....................................................................................

  • Figure 58: A Tree List With Various Roots............................................................................

  • Figure 59: A Newly added Tree Control.................................................................................

  • Figure 60: A Tree List With All Items As Roots...................................................................

Free download pdf