CN17440C/N1744 - Presentation Manager: Windowing & Graphics

From Wiki
Jump to: navigation, search

Course N1744 - Presentation Manager: Windowing & Graphics


This course focuses on advanced windowing topics such as custom dialog controls and Graphical Program Interface (GPI) graphics. You'll examine numerous sample programs and write intensive hands-on lab exercises to reinforce lecture topics. The course is a continuation of Presentation Manager 2.X for Software Developers (N1688). It is intended for OS/2 versions 1.X and 2.X developers.

Who Should Take This Course

OS/2 Presentation Manager programmers who want to raise their skill levels.

How you will benefit

Learn how to:

  • Understand all GPI drawing primitives including lines, arcs, and bitmaps
  • Use GPI programming techniques including transforms, metafiles, and retained graphics
  • Use windowing techniques including subclassing, owner-draw, and user-paint dialog controls and menus
  • Write custom dialog control windows
  • Write programs that use Dynamic Data Exchange (DDE) and the clipboard to communicate with other programs
  • Write programs that perform device-independent output (WYSIWYG: What You See Is What You Get)


  • Introduction to Graphical Program Interface
    • Modal drawing interface
    • Categories of graphical program interface calls
  • Device Contexts and Presentation Spaces
    • Types of device contexts
    • Types of presentation spaces
    • Sample usage
  • Introduction to Device Independence
    • Presentation page units
    • Introduction to coordinate systems
  • Lines and Boxes
    • Line and box primitives
    • Line and box attributes
  • Color and Mix
    • Logical and physical colors
    • Color tables
    • Mix modes
  • Mouse Messages
    • Capturing the mouse
  • Window Words
    • Window-specific data
    • System usage of window data
  • Segments and Retained Graphics
    • Drawing modes
    • Segment attributes
    • Setting labels in segments
    • Editing segments
  • Introduction to Transforms
    • World coordinates
    • Matrix arithmetic
    • Scaling, translating, rotating, and shearing
  • Applying Transforms
    • Transform API
  • Vector Fonts
    • Bitmap versus vector fonts
    • Creating a vector font
    • Transforming vector fonts
    • Vector font special effects
  • Correlation
    • Setting correlation tags
    • Correlation API
  • Areas
    • Drawing and filling areas
    • Fill modes
  • Paths
    • Geometric lines
    • Clip paths
  • Arcs
    • Arc attributes
    • Full arcs
    • Three-point and partial arcs
    • Fillets and splines
  • Bitmaps
    • Bitmap formats
    • Creating a bitmap
    • Bitmap APE
    • Shadow bitmaps
  • Metafiles
    • Creating a metafile DC
    • Playing a metafile
  • Advanced Menus
    • Menu types and structure
    • Methods to create menus
    • System menus
    • Owner-drawn menus
  • Frame Windows
    • Custom frame controls
  • Advanced Dialog Controls
    • Presentation parameters
    • User-paint and owner-drawn buttons and list boxes
  • Custom Control Windows
    • Managing memory
    • Responding to dialog keystrokes
  • Profiles
    • System and application profiles
    • Profile API
  • Printing
    • Printer DC types
    • Creating a printer DC
    • Reading the system profile for printer information
  • Clipboard
    • Clipboard protocol
    • Clipboard data formats
    • Clipboard API
  • Dynamic Data Exchange
    • DDE protocol
    • DDE API

Lab Exercises

  • Lab 1 - Introduction to Graphical Program Interface
    • Introduction to draw lab project
    • Device independence and window-specific data
    • Drawing rubber band lines
    • Drawing rubber band boxes
    • Fill patterns (optional)
    • Changing the mouse pointer (optional)
    • Line styles (optional)
    • Ignoring the first button one down (optional)
  • Lab 2 - Retained Graphics and Vector Fonts
    • Retained graphics
    • The zooming transform
    • Graphical text (vector fonts)
    • Correlation (optional)
  • Lab 3 - Arcs, Metafiles, and Custom Menus
    • Arcs
    • Metafiles
    • Erasing the current picture (optional)
    • Areas (optional)
    • Geometric lines (optional)
    • Bitmaps as primitives (optional)
  • Custom Frame Controls, Custom Dialog Controls, and Profiles
    • Owner-drawn menus
    • Custom frame controls
    • Customizing dialog controls
    • Saving settings in a profile
    • Printing (optional)
    • Enhancing the owner-drawn check box


Before taking this course, you should first attend Presentation Manager 2.X for Software Developers (N1688) or have at least one year's experience with Presentation Manager programs.