Annotation of mstools/mfc/readme.txt, revision 1.1

1.1     ! root        1: =======================================================================
        !             2:                    MICROSOFT (R) FOUNDATION CLASSES
        !             3: =======================================================================
        !             4: 
        !             5: ***********************************************************************
        !             6: ***               for Microsoft Windows (R) NT (tm)                 ***
        !             7: ***********************************************************************
        !             8: 
        !             9:                           BETA RELEASE 1
        !            10: 
        !            11: This is the Beta Release of the Microsoft (R) Foundation Classes for
        !            12: Microsoft Windows NT.  ENJOY!  Release notes can be found at
        !            13: the end of this file.
        !            14: 
        !            15: 
        !            16: -----------------------------------------------------------------------
        !            17: 
        !            18: This subdirectory contains the source code and example code for
        !            19: the Microsoft Foundation Class (MFC) C++ library.  The MFC library is
        !            20: a C++ Application Framework designed primarily for use in developing 
        !            21: applications for Microsoft Windows.  The MFC library is used in
        !            22: conjunction with the tools provided with the NT beta release.
        !            23: 
        !            24: The MFC library consists of two groups of classes.  One set is
        !            25: designed for use with Microsoft Windows and includes classes
        !            26: tailored for GUI application programming, such as classes for
        !            27: windows, dialogs, controls, and menus.  The other classes
        !            28: are a set of lower level, non-graphical, general purpose classes
        !            29: designed to make it easier to write the part of your application 
        !            30: that is independent of the user interface, and includes classes 
        !            31: supporting collections, files, memory management, and 
        !            32: runtime support.  The Windows classes take advantage of the
        !            33: features provided by these general purpose classes.
        !            34: 
        !            35: The MFC library is designed to be efficient in both space
        !            36: and time.  There is a minimal execution time overhead, and
        !            37: the entire library, all 60 classes, is under 39K of executable code.
        !            38: 
        !            39: A complete introduction to the MFC library can be found in the
        !            40: Overview section of the "Class Reference" book.
        !            41: 
        !            42: 
        !            43: Windows Classes
        !            44: ---------------
        !            45: Microsoft Windows and C++ are "object-oriented" and the MFC
        !            46: library exploits the Windows operating environment.  The Windows
        !            47: C++ classes offer the following features:
        !            48: 
        !            49:     o  Robust Application Framework for Windows
        !            50:     o  Tight coupling to the Windows API
        !            51:     o  Significant reduction in API "surface area"
        !            52:     o  Complete classes for nearly all Windows objects
        !            53:     o  Efficient processing of Windows messages with message maps
        !            54:     o  Customizable window classes using C++ inheritance
        !            55:     o  Utility classes to make Windows programming easier
        !            56: 
        !            57: The Windows classes can be used in conjunction with all the standard
        !            58: Windows APIs and can easily incorporate existing Windows code.  In
        !            59: addition, the MFC Windows classes provide a seamless migration to
        !            60: the forthcoming 32-bit Windows API.
        !            61: 
        !            62: 
        !            63: General Purpose Classes
        !            64: -----------------------
        !            65: The general purpose classes are useful both with and without Windows.
        !            66: If you are writing a program that does not use Windows, you can
        !            67: still take advantage of the MFC library for your application's
        !            68: user interface independent code.  All of the features are optional
        !            69: and will incur no runtime overhead if you choose not to use them.  The
        !            70: general purpose C++ classes include the following features:
        !            71: 
        !            72:     o  Common base class for many classes
        !            73:     o  Runtime type and metaclass support
        !            74:     o  Persistent objects
        !            75:     o  Collection classes based on ANSI C++ template syntax
        !            76:     o  String class
        !            77:     o  Time and Date classes
        !            78:     o  File classes
        !            79:     o  Exception handling based on ANSI C++ syntax
        !            80:     o  Diagnostic and debugging support
        !            81: 
        !            82: 
        !            83: Support for Windows 3.1 features
        !            84: --------------------------------
        !            85:      The Microsoft Foundation classes provide support for the
        !            86:      enhancements provided in Windows version 3.1. The following
        !            87:      features are described in technical notes in the
        !            88:      \NT\MSTOOLS\MFC\DOC directory and demonstrated in sample programs in
        !            89:      \NT\MSTOOLS\MFC\SAMPLES. These API functions are documented only in
        !            90:      the Help system. The following list describes the enhancements 
        !            91:      that can be used to develop applications for both Windows 3.0 
        !            92:      and Windows 3.1.
        !            93: 
        !            94:      o The development and use of custom controls is supported. In
        !            95:        addition, owner draw controls and bitmap buttons are provided. 
        !            96:        See TN014.TXT and the sample application CTRLTEST.
        !            97: 
        !            98:      o To improve robustness, the Microsoft Foundation Class Library 
        !            99:        fully supports the STRICT data types defined in the Windows 3.1 
        !           100:        interface file, WINDOWS.H.
        !           101: 
        !           102:      o Common dialog operations are now supported with easily
        !           103:        customized classes including CFileDialog (for both File Open
        !           104:        and File Save As), CFindReplaceDialog (to implement modeless
        !           105:        find and replace), CColorDialog (for color selection),
        !           106:        CPrintDialog (for both print setup and print), and
        !           107:        CFontDialog (for font selection). These new dialogs are
        !           108:        described in TN013.TXT.
        !           109: 
        !           110:      o Dialog boxes now feature a gray background which is easily 
        !           111:        customized.
        !           112: 
        !           113:      o OLE servers now register themselves at startup so that
        !           114:        users do not need to use REGEDIT.EXE.
        !           115:     
        !           116:      o Using multiple inheritance with Microsoft Foundation
        !           117:        classes is demonstrated in the sample application MINSVRMI,
        !           118:        a small OLE server that uses multiple inheritance.
        !           119: 
        !           120:      o For applications that target Windows 3.1 only, the Microsoft 
        !           121:        Foundation Class Library supports the most useful new Windows 
        !           122:        3.1 API functions and messages.
        !           123: 
        !           124: 
        !           125: Why use the Microsoft Foundation library instead of C and the SDK?
        !           126: ------------------------------------------------------------------
        !           127: The MFC library has many advantages over using the traditional
        !           128: C techniques in the Microsoft Software Development Kit for Windows.
        !           129: Some of these advantages include:
        !           130: 
        !           131:     o  MFC decreases the API surface area; the SDK is a catalog of
        !           132:     hundreds of functions, whereas the MFC library takes advantage
        !           133:     of the inheritance and polymorphism supported by C++ to organize
        !           134:     the Windows APIs in a logical and manageable manner.
        !           135: 
        !           136:     o  MFC provides a standard Windows application startup; the
        !           137:     MFC class CWinApp implements the functionality normally provided
        !           138:     in WinMain.
        !           139: 
        !           140:     o  MFC encapsulates Windows behavior; the class structure
        !           141:     and data encapsulation supported by C++ safely hides many
        !           142:     of the details that programmers need not concern themselves
        !           143:     with.
        !           144: 
        !           145:     o  MFC handles many details of Windows programming;  gone are
        !           146:     the days of registering Window classes or MakeProcInstance.
        !           147: 
        !           148:     o  MFC provides a object-oriented mechanism for routing
        !           149:     Windows messages;  the message map supported by each window
        !           150:     C++ class provides a cleaner and less error prone mechanism for
        !           151:     handling the mapping of Windows messages to member functions.
        !           152:     Messages, commands, and notifications can be handled in this
        !           153:     object-oriented manner.
        !           154: 
        !           155:     o  MFC taps the power of C++.  C++ supports many features that
        !           156:     make writing programs easier, such as type safety, encapsulation,
        !           157:     inheritance, and polymorphism, that when used in conjunction with
        !           158:     MFC provides the best technique for writing Windows programs
        !           159:     in C++.
        !           160: 
        !           161: 
        !           162: Usage
        !           163: -----
        !           164: Source code is provided so that you can build the library target
        !           165: that you require.  The file SRC\README.TXT contains instructions for
        !           166: building the library.
        !           167: 
        !           168: Before using the MFC library in your own code be sure that the
        !           169: MFC\INCLUDE subdirectory is in your INCLUDE environment variable.
        !           170: 
        !           171: 
        !           172: Subdirectories
        !           173: --------------
        !           174: The MFC subdirectory contains several subdirectories.  Nearly every
        !           175: subdirectory contains a README.TXT file that describes the
        !           176: directory's contents.  The following subdirectories are present:
        !           177: 
        !           178:     DOC\        - MFC technical notes describing implementation details.
        !           179:     INCLUDE\    - MFC header files.
        !           180:     SRC\        - MFC source files and instructions for building a library.
        !           181:     LIB\        - MFC libraries in binary form.
        !           182:     SAMPLES\    - MFC sample applications.
        !           183: 
        !           184: 
        !           185: Documentation
        !           186: -------------
        !           187: The NT release of the MFC library ships with both on-line Quickhelp
        !           188: documentation only. No MFC printed documentation is available with this
        !           189: release, but the printed MFC documentation provided with the Microsoft
        !           190: C/C++ 7.0 compiler can be used 'as-is'.
        !           191: 
        !           192: If you have any comments or suggestions regarding the Microsoft
        !           193: Foundation Classes, please let Microsoft know through the beta program
        !           194: liaison.
        !           195: 
        !           196: 
        !           197: NOTE
        !           198: ----
        !           199: 
        !           200: The Microsoft Foundation Classes (MFC) library source code is
        !           201: shipped "as is" and is designed for your own use and modification.
        !           202: Microsoft Product Support can only offer limited support regarding
        !           203: the MFC source code because of this benefit. 
        !           204: 
        !           205: Microsoft grants you a non-exclusive royalty-free right to use and 
        !           206: modify the source code contained in any Microsoft Foundation Classes 
        !           207: source code file for purposes of creating a software product.  
        !           208: However, you may not include this code in source form (or 
        !           209: any modified version of it) within any software product.   
        !           210: 
        !           211: Notwithstanding the Microsoft End User License Agreement, THIS SOURCE 
        !           212: CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  YOU AGREE THAT 
        !           213: NEITHER MICROSOFT NOR ANYONE ELSE INVOLVED IN CREATING, PRODUCING OR 
        !           214: DELIVERING THE SOURCE CODE SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, 
        !           215: CONSEQUENTIAL, OR INCIDENTAL DAMAGES RELATING TO THE SOURCE CODE.
        !           216: 
        !           217: 
        !           218: Windows NT Release Notes:
        !           219: -------------------------
        !           220: 
        !           221: -- This beta release is a strict superset of the Microsoft C/C++ 7.0 release
        !           222:    of MFC.  Any applications written for the MFC C++ Windows API will
        !           223:    need only be recompiled using the 32 bit tools in this release in order
        !           224:    to run in full 32 bit mode.  For those familiar with MFC, you will
        !           225:    note that the sample applications included in this release are 
        !           226:    unchanged from the 16 bit release.  This release of MFC can be used
        !           227:    interchangeably with the Microsoft C/C++ 7.0 release.
        !           228: 
        !           229: -- In order to build the MFC sample applications you should have your
        !           230:    environment set as follows:
        !           231:         set NTMFC=1
        !           232:        set LIB=c:\mstools\lib   (note this is not a ';' list)
        !           233:        set INCLUDE=c:\mstools\mfc\include;c:\mstools\h
        !           234:    These may also be set on the NMAKE command lines if you wish.  If your
        !           235:    installation is on another drive or in another directory, then you
        !           236:    should change c:\nt\mstools accordingly.
        !           237: 
        !           238:    NOTE: THE INCLUDE PATH ESTABLISHED BY THE NT SDK SETUP PROGRAM WILL
        !           239:    NOT WORK FOR MFC COMPILES.  BEFORE COMPILING MFC CODE YOU MUST CHANGE
        !           240:    THE INCLUDE PATH AS DESCRIBED ABOVE.
        !           241: 
        !           242: -- The MFC\INCLUDE directory for this release contains copies of the
        !           243:    Windows NT header files.  The copies have several modifications made
        !           244:    in order to make them more consistent with C++ and the Windows 3.1
        !           245:    header files.  This is only for this beta release and these changes
        !           246:    will be folded into the header files in MSTOOLS\H for the next release.
        !           247:    You must use these in order to successfully build the MFC library or
        !           248:    any MFC sample applications.
        !           249: 
        !           250: -- Your PATH must include the Windows SDK Tools and Microsoft C/C++.
        !           251: 
        !           252: -- Online documentation is available via QuickHelp (QH.EXE).  The .HLP
        !           253:    files are located on the CD-ROM in MSTOOLS\HELP\QH. You must copy
        !           254:    the help files and the QuickHelp application (QH.EXE) from the CD-ROM
        !           255:    to your target hard disk yourself -- the NT SDK setup program will not
        !           256:    install Quickhelp documentation.
        !           257: 
        !           258:    Windows WinHelp files for MFC are not currently available.
        !           259: 
        !           260: -- This beta release of MFC does not include DLL support.
        !           261: 
        !           262: -- Do not use the /Zp switch for MFC applications.  If you do some system
        !           263:    calls may not work (such as COMMDLG).
        !           264: 
        !           265: -- The COFF linker emits a warning when it does not extract any modules
        !           266:    from a .LIB.  The MFC sample applications will emit this warning which can
        !           267:    be ignored.
        !           268: 
        !           269: -- You may experience problems printing with the sample applications that
        !           270:    print.
        !           271: 
        !           272: -- The CHART sample application currently has several low level compiler
        !           273:    warnings that can be ignored.  These will be addressed.
        !           274: 
        !           275: -- The MULTIPAD sample application currently has an inconsistency with the
        !           276:    way it maintains the file MRU menu items.  This will be fixed.
        !           277: 
        !           278: -- The retail version of the MULTIPAD sample may fault on exit.        This
        !           279:    will be fixed in a future release.
        !           280: 
        !           281: -- The "self-draw" control functionality for custom menu items (demonstated
        !           282:    in the CTRLTEST sample application) currently behaves inconsistently.
        !           283:    This will be fixed.
        !           284: 
        !           285: -- The MINSVRMI sample application may fault.  This will be fixed.
        !           286: 
        !           287: -- CListBox::FindStringExact and CComboBox::FindStringExact do not
        !           288:    work correctly.  This will be fixed.
        !           289: 
        !           290: -- Debugging C++ applications is quite "challenging" with this release.  We
        !           291:    recommend the liberal use of trace statements and { _asm int 3 } lines
        !           292:    in your code.  The NTSD debugger does not currently permit the setting
        !           293:    of breakpoints on C++ member functions.  If you have global functions
        !           294:    that are not overloaded, then using the extern "C" construct will prevent
        !           295:    name decoration and permit the setting of breakpoints.  If all else fails,
        !           296:    you can always debug your MFC application using C/C++ 7.0 
        !           297:    on a machine running CodeView 4.0 and Windows 3.1.  The C++ expression
        !           298:    evaluator for WinDebug will be made available as soon as practical.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.