Figures

  • Program Flow - Functional Decomposition Approach
  • Program Flow - Object-Oriented Approach
  • Subclassing an Application Object
  • Object-Oriented Development Progression
  • Encapsulation of Host Interaction Within Application Object
  • Message Flow in a Presentation Manager Application
  • Structure of an Application's Main Routine
  • Structure of a Window Procedure
  • Structure of a Dialog Procedure
  • Allocating Memory in Previous Versions of OS/2
  • Allocating Memory in OS/2 Version 2.0
  • Committing Storage During Allocation
  • Using a Guard Page With a Memory Object
  • Guard Page Exception Handler
  • Registering a Guard Page Exception Handler
  • Suballocating Memory
  • Allocating Shared Memory
  • Sample Application Main Routine (Part 1) - Registration
  • Sample Application Main Routine (Part 2) - Window Creation
  • WinAddSwitchEntry() Function
  • Storing Instance Data in Window Words
  • Retrieving Instance Data from Window Words
  • Releasing Instance Data Storage
  • WinSubclassWindow() Function
  • Subclass Window Procedure
  • WinDlgBox() Function
  • Communicating with a Control Window
  • Querying Information From a Control Window
  • Inserting an Item Into a List Box
  • Querying a Selected List Box Item
  • WinMessageBox() Function
  • Obtaining a Window Handle - WinQueryWindow() Function
  • Obtaining a Window Handle - WinWindowFromID() Function
  • Obtaining a Window Handle Using the Switch Entry
  • WinBroadcastMsg() Function
  • Calling External Macros
  • Workplace Shell Inheritance Hierarchy
  • Invoking a Method
  • Overriding an Existing Method
  • Adding a New Method
  • Adding an Item to a Context Menu
  • Invoking a Method via a Context Menu Item
  • Class Method Example
  • Invoking a Method in Another Object Class
  • A SOM Precompiler-generated Function Stub
  • Registering a Workplace Shell Object Class
  • Initializing Class Data
  • Freeing Class Data Items
  • Creating an Object
  • Object Setup
  • Initializing Instance Data
  • Opening an Object
  • Opening a Custom View of an Object
  • Automatically Instantiating an Object
  • Closing an Object
  • Saving an Object's State
  • Restoring an Object's State
  • Destroying an Object
  • Deregistering an Object Class
  • Creating a Transient Object
  • Workplace Shell Application Structure
  • Referencing an Object Using OBJECTID
  • Drag Initiation From a Container Window
  • Receiving a DM_PRINTOBJECT Message
  • Handling the DM_DRAGOVER Message
  • Handling the DM_DROP Message
  • Handling the DM_RENDER Message
  • Menu Bar Resource Definition
  • String Table Resource Definition
  • Loading a Text String Resource
  • Accelerator Table Resource Definition
  • Window Template Resource Definition
  • Dialog Template Resource Definition
  • Resource Script File
  • Loading Resources From a DLL
  • Loading a Dialog Resource From a DLL
  • Creating a Thread With an Object Window
  • Secondary Thread Creating an Object Window
  • Sample Object Window Procedure
  • Creating a Thread Without an Object Window
  • Starting a Child Process
  • DosKillThread() Function
  • Terminating a Process
  • Interprocess Communication Using Shared Memory (Part 1)
  • Interprocess Communication Using Shared Memory (Part 2)
  • Interprocess Communication Using Atoms (Part 1)
  • Interprocess Communication Using Atoms (Part 2)
  • Interprocess Communication Using Queues (Part 1)
  • Interprocess Communication Using Queues (Part 2)
  • Interprocess Communication Using Queues (Part 3)
  • Interprocess Communication Using Named Pipes (Part 1)
  • Interprocess Communication Using Named Pipes (Part 2)
  • Synchronization Using Presentation Manager Messages
  • Synchronization Using an Event Semaphore (Part 1)
  • Synchronization Using an Event Semaphore (Part 2)
  • Synchronization Using the DosWaitThread() Function (Part 1)
  • Synchronization Using the DosWaitThread() Function (Part 2)
  • DosWaitChild() Function
  • Dynamically Inserting a Menu Bar Item
  • Dynamically Inserting a Pulldown Menu
  • Disabling an Menu Bar/Pulldown Menu Item
  • Placing a Check Mark on a Pulldown Menu Item
  • Standard Dialogs - WinFileDlg() Function
  • WinFontDlg() Function - Sample Code
  • DosCreateThread() Function
  • DosAllocMem() Function
  • Declaring a 16-Bit Function in 32-Bit Code
  • Creating a 16-bit Window From Within a 32-bit Module
  • Passing a 16:16 Pointer as a Message Parameter
  • Mixed Model Programming - WinSetWindowThunkProc() Function
  • Mixed Model Programming - Thunk Procedure
  • 16:16 to 0:32 Address Conversion
  • Development Process for New WPS Classes
  • Compiling and Linking an OS/2 Presentation Manager Application
  • Sample Module Definition File for Presentation Manager
  • Sample Module Definition File to Create a DLL
  • IPF Tag Language Example
  • Simple Help Panel Source
  • Displaying a Bitmap in a Help Window
  • Hypertext Link
  • Hypergraphic Link
  • Link File With Multiple Hypergraphic Links
  • Multiple Viewports Using Automatic Links
  • Application-Controlled Viewport
  • Help Table Resource Definition
  • WinCreateHelpInstance() Function
  • WinAssociateHelpInstance() Function
  • WinDestroyHelpInstance() Function
  • Help Pulldown Menu Definition
  • Network Domains
  • Production Libraries on a LAN Server


    [Back: Acknowledgements]
    [Next: Program Flow - Functional Decomposition Approach]