CN17440C/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)

Topics

 * 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

Prerequisites
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.

Download
N/A