The Art Of OS/2 Warp Programming
Publisher: Wiley
Published: 1995
Table of contents: title: Cover; title: Figures; title: Preface; title: Acknowledgments; label: Chapter1
title: Tools; title: Dialog Box Editor; title: Resource Compiler; title: NMAKE; title: IPFC; title: Libraries; title: Header (or INCLUDE) Files; title: The Compiler Switches Used in This Book; label: Chapter 2
title: Memory Management; title: Committing Memory; title: Suballocating Memory; title: Shared Memory; title: DosAllocMem or malloc; label: Chapter 3
title: Multitasking; title: The Scheduler; title: The Subtleties of Creating a Thread; title: Threads and the C Runtime; title: A Thread Example; title: The Thread Output; title: Executing a Program; title: Sessions; label: Chapter 4
title: File I/O and Extended; title: Extended Attributes; title: EAs-Fragile: Handle with; title: The LIBPATH.C Example; title: Getting the File Size; title: Opening a File; title: Reading a File; title: More on DosOpen; title: An Extended Attribute Example: CHKEA.C; label: Chapter 5
title: Interprocess Communication; title: An OS/2 Named Pipe Client-Server Example; title: DOS-OS/2 Client-Server Connection; title: An OS/2 QUEUE Client-Server Example; title: An OS/2 Semaphore vs. Flag Variable Example; label: Chapter 6
title: DLLs; title: DLL Overview; title: Thunking; title: DLL Performance; title: Simple DLL Example (32-32); title: Creating the .EXE and the DLL; title: 16-32, 32-16 Transitions; title: Call a 32-Bit DLL from ii 16-Bit; title: Pointer Declarations; title: Calling a 16-Bit DLL from a 32-Bit Program; title: Loading/Unloading of DLLs; title: Optimizing Performance in DLLs; label: Chapter 7
title: Exception Handling; title: How to Register an Exception Handler; title: What an Exception Handler Looks; title: Signal Exceptions; title: Dos and Don'ts for Exception; title: DosExitList and Exception Handlers; title: A Guard Page Example; title: Summary; label: Chapter 8
title: Interfacing with OS/2 Devices; title: Serial Interface Example Using DosDevIOCtl .; title: Serial Interface Example Using inp .; label: Chapter 9
title: Introduction to Windows .; title: Introduction .; title: What Is a Window?; title: The INCLUDE Files; title: The Window Procedure Definition; title: Helper Macros; title: Presentation Manager Program Initialization; title: Creating a New Class; title: Creating a Window; title: Message, Message, Who's Got the Message ?; title: Terminating a Program; title: The Window Procedure Revisited; title: Parents and Owners; title: Window Stylin'; title: Another Window Example: WINDOW; title: The Presentation Manager Coordinate Space; title: More on Window Painting; title: Painting by Numbers; title: Enumerating Windows; title: WriteWindowInfo; title: The DrawString function; title: Presentation Spaces; title: Window Words; title: Control Windows; title: Presentation Parameters; label: Chapter 10
title: Window Management; title: Visible, Invisible, Enabled, and Disabled Windows; title: Window sizing; title: Device Independence, Almost; title: Subclassing the Frame Window; title: In Case of Error, Use the Class Default; title: Tracking the Frame.; title: Saving Window Settings; title: WinRestoreWindowPos; title: X,Y,Z - Order; title: Saving State; label: Chapter 11
title: Window Messages and Queues; title: Message Ordering; title: Focus Messages; title: Size and Paint Messages; title: The Last Messages a Window Receives; title: Sending Messages; title: Broadcasting Messages; title: Peeking into the Message Queue; title: Finding More Message Queue Information; title: Message Priorities; title: Messages and Synchronization of Events; title: User-Defined Messages; title: Some words about using window messages with non-PM threads; label: Chapter 12
title: Resources; title: More About Resources, I Would Know; title: Resource Files; title: Using the Resource Compiler; title: Pointers and Icons; title: Bitmaps; title: String Tables; title: Accelerators; title: Dialog Boxes; title: Menus; title: Help Tables; title: Application-defined Data .; label: Chapter 13
title: Dialog Boxes; title: The Dialog Box Template; title: The Client Window Procedure; title: Creating a Modal Dialog Box; title: Creating a Modeless Dialog Box; title: The Dialog Procedure DlgProc; title: WM_COMMAND and Dialogs.; title: Summary; label: Chapter 14
title: Menus; title: Menus: The Keyboard and the Mouse; title: Mnemosyne's Mnemonics; title: Menu Styles; title: Menu Item Styles; title: The Resource File; title: Menu Item Attributes; title: Creating the Menu Bitmap; title: The Client Window Procedure ClientWndProc; title: The User Function displayMenuInfo; title: Pop-up Menus; title: Creating a Pop-up Menu; title: I Think I Can, I Think Icon; title: Popping Up a Menu; title: The Workhorse Function WinPopupMenu; label: Chapter 15
title: List Boxes; title: List Box Styles; title: Extended Selection; title: Initializing the Client Window; title: Initializing the List Box; title: The WM_COMMAND Message Dialog Processing; title: Processing the UM_LISTBOXSEL Message; title: The Client Window Painting Routine; title: Owner-Drawing Controls; title: DlgProc; title: The WM_MESSAGE message; title: The WM_DRAWITEM message; title: An Introduction to Owner-drawn States; title: Drawing the List Box Labels; title: Drawing the Bitmaps; title: Summary; label: Chapter 16
title: Buttons; title: Button Styles; title: Example Program; title: The BUTTON.RC Resource File; title: DlgProc; title: Dialog Units-Can We Talk?; title: Button Actions; title: Summary; label: Chapter 17
title: Entry Fields; title: Entry Field Basics; title: Selection Basics; title: The Entry Field and the Clipboard; title: And Other Things; title: ENTRY I-Entry Field Samples; label: Chapter 18
title: Multiline Edit Controls; title: Terminology, Etc.; title: MLE1; title: How to Upset a User Rather Quickly; title: No Refreshment; title: Clipboard Support; title: Navigation without a Sextant; title: Line by Line; title: Searching for What Was That Again ?; title: As If That Weren't Enough; label: Chapter 19
title: Other Window Classes; title: Combo Boxes; title: Frames; title: Scrollbars; title: Statics; title: Titlebars; label: Chapter 20
title: Drag and Drop; title: Tennis, Anyone ?; title: Initialization Code for Drag and Drop Source; title: Things Never Told to the Programmer That Should Have Been; title: Direct Manipulation Is a Real Drag; title: And Now a Word from Our Sponsor; title: Data Transfer; title: A Concrete Example; title: More Cement, Please; title: DrgDragFiles; title: From the Top Now; title: Pickup and Drop; title: Functions Used for Lazy Drag; title: Lazy Drag Sample; label: Chapter 21
title: Value Set; title: Value Set Styles; title: The VALUE.RC Resource File; title: Initializing the Value Set; title: Value Set Selection Notification; title: VALUE Paint Processing; title: The User-defined Message UM_UPDATE; label: Chapter 22
title: Notebook; title: Notebook Pages; title: Flipping Pages; title: Creating a Notebook; title: InitializeNotebook; label: Chapter 23
title: Containers; title: Container Views; title: Container Styles; title: LPs or 45s ?; title: Half Full or Half Empty ?; title: Icon, Name, and Text Views; title: Tree View; title: Details View; title: Splitbars; title: Of Emphasis and Pop-ups; title: Direct Editing; title: Of Sorting and Filtering; title: Where Does Direct Manipulation Fit In ?; title: Summary; label: Chapter 24
title: Spin; title: Spin Button Styles; title: Accelerator; title: WM_CREATE Processing; title: WM_CONTROL Processing; title: WM_COMMAND Processing; title: WM_PAINT Processing; label: Chapter 25
title: Sliders; title: Linear Slider Styles; title: Creating a Linear Slider; title: A Linear Slider Example Program; title: Initializing the Slider; title: Using an Ownerdrawn Slider; title: Circular Sliders; title: Circular Slider Styles; title: Creating a Circular Slider; title: A Circular Slider Example Program; title: Initializing the Slider; title: Circular Slider Colors; title: Summary; label: Chapter 26
title: Font and File Dialogs; title: The File Dialog; title: Special Considerations for Multiple File Selections; title: The FILEDLG Example Program; title: The Window Word; title: Putting it All Together: FindFile; title: Initializing the FILEDLG Structure; title: The Font Dialog; title: An Example Program: FONTDLG; title: Customizing the Font Dialog; title: Querying the Current Font; title: Initializing the Font Dialog Structure with the Current Font; title: Bringing Up the Font Dialog; label: Chapter 27
title: Subclassing Windows; title: Superclassing; label: Chapter 28
title: Presentation Manager Printing; title: A Printer's Overview; title: Where's My Thing ?; title: I Want That with Mustard, Hold the Mayo, No Onions, Extra Ketch; title: Where Were We?; label: Chapter 29
title: Help Manager; title: Application Components; title: The Application Source; title: Messages; title: The Help Tables; title: Sample HELPTABLE; title: Message Boxes; title: Fishing, Anyone ?; title: The Help Panels; title: Sample Help Panel; title: Putting It All Together; title: Restrictions; title: Using HELP TABLEs for Message Box Help; label: Chapter 30
title: Multithreading in Presentation Manager Applications; title: Introduction; title: Types of Threads; title: Designing the Architecture; title: Data Communications; title: Entry and Exit Points; title: What Have We So Far ?; title: User Feedback; title: User Feedback Example; title: Synchronicity; title: Synchronous Threading Example; title: Object Windows; title: Building a Blind Window; title: Design Considerations; label: Chapter 31; label: Chapter 32
title: Using Dialog Window  as Main Application's Window; label: Chapter 33
title: Color Wheel control; title: ColorSelect control; title: Usage of ColorSelect control; label: Appendix A
title: Window Messages; title: Dialog Box Messages; title: Button Messages; title: List Box Messages; title: Notebook Messages; title: Value Set Messages; title: Slider Messages; title: Circular Slider Messages; title: File Dialog Messages; title: Font Dialog Messages; title: Menu Messages; title: Entryfield Messages; title: Spin Button Messages; title: Help Manager Messages; title: Drag and Drop Messages; title: Container Messages; label: Appendix B
title: References; title: Index