home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK8 / MFC / SAMPLES / ABOUT2 / README.TX$ / readme
Encoding:
Text File  |  1992-03-18  |  3.9 KB  |  86 lines

  1. ========================================================================
  2.       MICROSOFT FOUNDATION CLASS LIBRARY : ABOUT2 EXAMPLE PROGRAM
  3. ========================================================================
  4.  
  5. This application is exactly like the "About2" sample written by
  6. Charles Petzold in his book, "Programming Windows."  This version was
  7. written in C++ and uses the Foundation classes.  Compare the code of
  8. these two versions to see how Windows applications written in C can be
  9. adapted to use the features of the Microsoft Foundation Class Library.
  10.  
  11. MAKEFILE.
  12. ABOUT2.MAK
  13. ABOUT2.STS
  14.     These describe the compile process for the NMAKE tool and the
  15.     Programmer's Workbench.  MAKEFILE is an NMAKE-compatible makefile,
  16.     while ABOUT2.MAK and ABOUT2.STS are the PWB-compatible makefile and
  17.     PWB status file, respectively.
  18.  
  19. ABOUT2.H
  20. ABOUT2.CPP
  21.     These two files make up the entire behavior of the application.
  22.     The application's classes are declared in the ABOUT2.H header
  23.     file, and the member functions and message maps are defined in
  24.     ABOUT2.CPP.
  25.  
  26.     Note that the CAbout2Dlg class's constructor, declared in ABOUT2.H,
  27.     uses the constructor of the base class, CModalDialog (a Foundation
  28.     class).  Normally, the CModalDialog's constructor requires the name
  29.     of the dialog template resource.  CAbout2Dlg objects will always be
  30.     associated with the "AboutBox" template (found in ABOUT2.RC), so
  31.     the new constructor supplies this name explicitly.  Only the parent
  32.     window argument is then required by the creator of these objects.
  33.  
  34.     The CAbout2Dlg also has some member variables.  These variables
  35.     hold the state of the current color and figure, for the duration of
  36.     the dialog.  When the dialog is invoked, the global variables
  37.     nCurrentColor and nCurrentFigure are copied to these member
  38.     variables, and if the user presses OK in the dialog, they are
  39.     copied back into the global variables.  A modal dialog box should
  40.     not modify the actual variables, but rather keep a separate copy
  41.     that can be disposed of in case the dialog's Cancel button is
  42.     pushed.
  43.  
  44.     A function is defined in ABOUT2.CPP which is not a member of either
  45.     of the two classes in the application.  This is called Paint, and
  46.     it is used by both classes to draw a given figure in a given color
  47.     in any window's display context.  The dialog calls Paint to draw the
  48.     figure according to the settings that the user makes in the dialog.
  49.     Once the dialog is dismissed, the frame window uses Paint to draw
  50.     the same figure in its client area.
  51.  
  52.     (For the extremely observant:  you may notice that the Paint
  53.     function is slightly different in the C++ version from Charles
  54.     Petzold's original PaintWindow.  The original version always
  55.     creates a new display context in which to draw.  This version takes
  56.     a display context (such as the CPaintDC of the frame window) if one
  57.     is available, and creates a CDC if none is given.  This avoids
  58.     obtaining and releasing extra display contexts from Windows.
  59.     Painting during an OnPaint/WM_PAINT message should be done with the
  60.     display context provided by CPaintDC/BeginPaint, to avoid unwanted
  61.     flashing.)
  62.  
  63. RESOURCE.H
  64.     This file defines control IDs used in the About dialog box,
  65.     and the application's main window menu bar.
  66.  
  67. ABOUT2.ICO
  68.     This is an icon file, which is used by the frame window, and also
  69.     appears in the About dialog box.
  70.  
  71. ABOUT2.RC
  72.     This is a listing of all of the Microsoft Windows resources which
  73.     the program uses.  It includes two resources: the icon found in
  74.     ABOUT2.ICO, and the application's main menu.
  75.  
  76. ABOUT2.DLG
  77.     This file contains dialog control content and layout information.
  78.     It was generated directly by the DLGEDIT dialog editor, part of
  79.     the Microsoft Windows 3.1 Software Development Kit.  ABOUT2.DLG is
  80.     processed by the Microsoft Windows Resource Compiler (it is
  81.     included by ABOUT2.RC).
  82.  
  83. ABOUT2.DEF
  84.     A typical module definition file, used by LINK to set specific
  85.     application information in the executable file.
  86.