Make your own free website on
Online Tutorial for Windows 95/98/NT/2000
 Applications Programming In FORTRAN. 
Vladimir V. Vasilchenko

Volume 1. The Basic Methods and Elements of Windows
                 Applications Programming in FORTRAN.

( Important! See "Rules" for additional information, please. )
 1. Getting Started under Windows.
     1.1. The Basic Scheme of  Windows Application.
     1.2. Our First Windows Applications.
 2. Basic Windows Concepts and Terminology.
     2.1. What is a Window? 
     2.2. Visual Elements of a Window. 
     2.3. How to Create a Window in FORTRAN.
     2.4. Basic Stages in Windows Application Creation.
            2.4.1.  Windows Classes.
               Application Local Classes.
               System Global Classes
               Application Global Classes.
            2.4.2.  Window Procedure  the Main Member of  a Window Class.
               Events and Messages.
                            Windows Message Format 
                             System Messages 
                             Application-defined Messages.
                             User-defined Messages.
               The Message Loop.
               The Window's Procedure. 
            2.4.3.  Windows Types
            2.4.4.  Windows Styles
            2.4.5.  Windows Show States
 3. Writing Simple Windows Programs  Minimal Win32 Application in FORTRAN.
      3.1. Basic Components of a Window Program
             3.1.1.  The WinMain Function
             3.1.2.  Registering the Window Class
                The Window Class Structure
                Elements of a Window Class
             3.1.3.  Creating the Window
             3.1.4.  Displaying/Updating the Window
             3.1.5.  The Message Loop
             3.1.6.  The Window's Procedure (WndProc)
      3.2. Customizing the Application Window 
      3.3. Adding a Simple User Interface
             3.3.1.  The Button Control. 
             3.3.2.  The Static Text Control. 
 4. Creating User Interfaces With Windows Controls. 
     4.1. Windows Standard Controls.
            4.1.1.  Predefined Controls.
            4.1.2.  Static Controls 
               Static Control Types
               Notification Messages From Static Controls
               Control Messages to Static Controls
               Using Static Controls.
                             Simple Static Text Control.
                             Owner-Drawn Static Control.
                             Static Controls with Images.
                             Static Rectangles and Frames.
            4.1.3.  Buttons. 
               Button Types and Styles
               Button States
               How a Button Works
               Notification Messages from Buttons
               Control Messages to Buttons
               Using Buttons.
                             Using  Standard  Button.
                             Autoradiobutton Sample.
                             Radiobutton Sample.
                             Groupbox, Checkbox and Autocheckbox Buttons Sample.
                             Owner-Drawn Button Samples.
                                              Owner-Drawn Button with Bitmap.
                                              Owner-Drawn Button with Icon.
                                              Owner-Drawn Button with Metafile.
                                              Owner-Drawn Button with Custom Font.
                                              Advanced Owner-Drawn Button Sample.
            4.1.4.  List Boxes
               List Box Types and Styles.
               How a List Box Works.
               Notification Messages from List Boxes
               Control Messages to List Boxes
               Using List Boxes
                             Simple List Box
                             Multiple-selection List Box
                             Multi-column List Box
                             Owner-Drawn List Box
                             List Box with Directory List Inside.
                             Handling Information from List Box.
            4.1.5.  Edit Control
               Edit Control Types and Styles
               How a Edit Control Works
               Notification Messages from Edit Control
               Control Messages to Edit Control
               Using Edit Control.
                             Using Edit Control for Data Input.
                             Improved Sample.
            4.1.6.  Combo Boxes
               Combo Boxes Types and Styles
               How a Combo Box Works
                             Combo Box List 
                             Combo Box Current Selection
                             Special Combo Box Features.
               Notification Messages from Combo Boxes
               Control Messages to Combo Boxes
               Using the Combo Box
                             Simple Combo Box
                             Combo Box with Directory List Inside.
                             Owner-Drawn Combo Box
                             Handling Information from Combo Box.
            4.1.7.  Scroll Bars
               Standard Scroll Bars and Control Scroll Bars
               Elements of a Scroll Bar
               How a Scroll Bar Works
               Notification Messages from Scroll Bars
               Control Messages to Scroll Bars
               Using Scroll Bar Control
                            Scrolling Text Sample
                            Scrolling Bitmap Sample.
                            Using Scrollbar for Variable Value Changing.
            4.1.8.  Subclassing and Superclassing - the Universe of Controls.
 5. Using Menus.
     5.1. Menu Types.
     5.2  How a Menu Works 
     5.3. Menu Creation Methods Overview
            5.3.1.  Windows API Functions for Menu. 
            5.3.2.  Pulldown Menu.
               Simple Pulldown Menu.
               Adding Submenu.
               Managing a Menu within an Application. 
               Using Custom Checkmarks. 
               Owner-Drawn Menu. 
            5.3.3.  System Menu.
            5.3.4.  Floating Popup Menu. 
 6. Windows' Graphics  
     6.1. Device Contexts
            6.1.1.  Graphic Objects and Graphic Modes
            6.1.2.  Device Context Types
            6.1.3.  Windows' Functions for Device Contexts
            6.1.4.  Using Device Context
               Retrieving the Capabilities of a Printer.
               Changing Screen Resolution.
     6.2. Selecting Color for Drawing. 
     6.3. Drawing a Pixel. 
     6.4. Basic Graphic Tools.
     6.5  Basic Primitives of Windows' Graphics.
            6.5.1.  Drawing Lines
               Standard Scheme of Line Drawing.
               User-Defined Line Drawing.
            6.5.2.  Drawing Polylines.
            6.5.3.  Drawing Curves.
            6.5.4.  Drawing Filled Shapes.
     6.6. Windows' Graphic Objects 
            6.6.1.  Regions
               Region Types
               Region Operations
               Using Regions
                             Region Operations Samples.
                             Clipping Region Sample.
                             Hit Testing Sample.
                             "Nonrectangular Window" Sample.
            6.6.2.  Bitmaps
               Operations with Bitmaps
               Using Bitmaps
                             Bitmap as Background for Window.
                             Capturing and Saving the Image.
                             Printing a Window Content.
                             Drawing Transparent Bitmap.
            6.6.3.  Metafiles
               Operations with Metafiles.
               Using Metafiles.
                             Scaling a Metafile.
                             Scrolling a Metafile.
                             Printing a Metafile.
 7. Drawing Text 
     7.1. About Text Output 
     7.2. Selecting Font for Text
     7.3. Sample Programs.
            7.3.1.  Using Stock Font.
            7.3.2.  Using Customized Font.
            7.3.3.  Draw Text in Arbitrary Direction.
            7.3.4.  Simple Text Formatting.
 8. Mouse and Keyboard 
     8.1. About Mouse and Keyboard.
     8.2. Input Devices and Windows Messaging
     8.3. Sample programs.
            8.3.1.  Region Testing Sample.
            8.3.2.  "Hyperlink" Sample.
            8.3.3.  "Active Region" Sample.
 9. Cursor 
     9.1. About Cursor
     9.2. System Cursors.
     9.3. User-Defined Cursors.
     9.4. Using Cursor Sample. 
10. Using Common Dialogs 
      10.1. "Open" Dialog. 
      10.2. "Save As" Dialog. 
      10.3. "Choose Font" Dialog.
      10.4. "Choose Color" Dialog. 
      10.5. "Print" Dialog. 
11. Files. 
      11.1. About Files 
      11.2. Basic Operations with Files
      11.3. Directory Listing with Files Information Sample. 
12. Printing under Windows 
      12.1. Basic Scheme of Printing Process. 
      12.2. Template for Simplest Printing. 
A. Bonus Programs/Tips/Tricks for Readers 
     A.1.   Simple template for function drawing. 
     A.2.   Simple template for function drawing with virtual screen technique. 
     A.3.   Advanced sample of function drawing.
     A.4.   Animating window. 
     A.5.   Fortran specific - "Let me stop it now..."
     A.6.   Image smoothing sample.
     A.7.   Image sharpening sample.
     A.8.   Embossed Image Sample.
     A.9.   Solarized Image Sample.
     A.10. Colored Static Control.
     A.11. Colored Edit Control.
     A.12. Using Custom Fonts In Controls.
     A.13. Cascade Child Windows in non-MDI Application.
     A.14. Tile Child Windows in non-MDI Application.
B. Documentation on All Windows' API Functions Used or Mentioned in Book.
     B.1.   Functions for work with menu
     B.2.   Functions for work with pens and brushes
     B.3.   Functions for work with lines, polylines and curves
     B.4.   Functions for drawing pixel
     B.5.   Functions for filled shapes
     B.6.   Functions for regions
     B.7.   Functions for bitmaps 
     B.8.   Functions for metafiles
     B.9.   Functions for text output 
     B.10. Functions for mouse and keyboard
     B.11. Functions for cursors
     B.12. Functions for work with files
     B.13. Functions for printing