Programming the Windows 95 User Interface


Part 1

Chapter One: Status Bars and Toolbars: Organizational Common Controls

  1. Common Control Basics
    1. Common Control Window Styles
    2. Common Control Notifications
  2. Status Bars
    1. Creating a Multiple-Part Status Bar
    2. Using Owner Drawing in a Status Bar
    3. Creating a Simple-Mode Status Bar
    4. Status Bar Messages and Member Functions
  3. Toolbars
    1. Creating a Toolbar
    2. Creating a Toolbar Bitmap
    3. Supporting ToolTips
    4. Adding a ToolTip to a Nonbutton Control
    5. Customizing a Toolbar
    6. Toolbar Messages and Member Functions

Chapter Two: Trackbars, Progress Bars, Up-Down Controls, and Animation Controls: General-Purpose Common Controls

  1. Trackbars
    1. Creating a Trackbar
    2. Working with a Trackbar
    3. Trackbar Messages and Member Functions
  2. Progress Bars
    1. Creating a Progress Bar
    2. Progress Bar Messages and Member Functions
  3. Up-Down Controls
    1. Creating an Up-Down Control
    2. Up-Down Control Messages and Member Functions
  4. Creating an Animation Control

Chapter Three: Image Lists, List View Controls, Column Headers, and Tree View Controls: List Management Common Controls

  1. Image Lists
    1. Creating an Image List
    2. Image List Functions and Member Functions
  2. List View Controls and Column Headers
    1. Creating a List View Control
    2. Changing Views
    3. Handling Notifications
    4. Sorting Items in Response to a Column Header Click
    5. Editing Labels
    6. List View Control Messages and Member Functions
  3. Tree View Controls
    1. Creating a Tree View Control
    2. Adding Items to a Tree View Control
    3. Implementing Drag and Drop for a Tree View Item
    4. Tree View Control Macros and Member Functions

Chapter Four: Tabs, Property Sheets, and Wizards: Whiz-Bang Common Controls

  1. Tabs
  2. Property Sheets
    1. Creating a Property Sheet
    2. A Word About Property Sheet Notifications
    3. Property Sheet Messages
  3. Wizards
    1. Creating a Wizard
    2. Processing Wizard Notifications

Chapter Five: Rich Edit Controls

Chapter Six: The New Common Dialog Boxes

  1. Opening and Saving Files with Common Dialog Boxes
    1. Using the Open and Save As Common Dialog Boxes
    2. Monitoring Input
    3. Using the OFN_EXPLORER Flag
    4. Learning New IDs
  2. The Font Common Dialog Box
  3. The Color Common Dialog Box
  4. The Find and Replace Common Dialog Boxes
  5. The Printing Common Dialog Boxes
  6. Using the Page Setup Common Dialog Box
  7. Error Detection
  8. Supporting Help

Chapter Seven: Putting It All Together


Part 2

Chapter Eight: Support for Long Filenames

  1. STK4Q94.XLS?
  2. Is Your System FAT?
    1. The FAT File System
      1. The Protected-Mode FAT File System (VFAT)
      2. The High-Performance File System (HPFS)
      3. The Windows NT File System (NTFS)
    2. Determining Which File System Is in Use
    3. General Guidelines for Supporting Long Filenames
    4. Outdated Assumptions
      1. Assumption: The filename extension contains no more than 3 characters.
      2. Assumption: The filename contains no more than 12 characters.
      3. Assumption: A filename contains only one period.
      4. Assumption: Filenames do not contain spaces.
      5. Assumption: The plus sign (+) character is invalid in a filename.
    5. User Interface Considerations
    6. Hiding File Extensions
    7. Adjusting the Width of Edit Fields

Chapter Nine: Shortcuts

  1. How Shortcuts Are Implemented
  2. The Component Object Model
  3. SHORTCUT: A SampleThat Manipulates Shortcuts
  4. Creating a Shortcut to an Object Other Than a File
  5. IShellLink Details
    1. IShellLink::QueryInterface
    2. IShellLink::AddRef
    3. IShellLink::Release
    4. IShellLink::GetPath
    5. IShellLink::SetPath
    6. IShellLink::GetIDList
    7. IShellLink::SetIDList
    8. IShellLink::GetDescription
    9. IShellLink::SetDescription
    10. IShellLink::GetWorkingDirectory
    11. IShellLink::SetWorkingDirectory
    12. IShellLink::GetArguments
    13. IShellLink::SetArguments
    14. IShellLink::GetHotkey
    15. IShellLink::SetHotkey
    16. IShellLink::GetShowCmd
    17. IShellLink::SetShowCmd
    18. IShellLink::GetIconLocation
    19. IShellLink::SetIconLocation
    20. IShellLink::Resolve
  6. Preserving Shortcuts

Chapter Ten: The Registry

  1. What Is the Registry?
  2. The Structure of the Registry
  3. Predefined Keys
    1. HKEY_CLASSES_ROOT
    2. HKEY_CURRENT_USER
    3. HKEY_LOCAL_MACHINE
    4. HKEY_USERS
    5. HKEY_CURRENT_CONFIG
    6. HKEY_DYN_DATA
  4. Updating the Registry
    1. Using Built-In Tools
    2. Using the Win32 API
    3. Using Registration Files
  5. Differences Between the Windows 95 and Windows NT Registries
  6. Registry Functions in Windows 95

Chapter Eleven: The User Interface Library

  1. Drag and Drop
  2. Retrieving File Information
  3. Shh! Be Very, Very Quiet; We're Hunting New Functions
    1. Taskbar Notifications
    2. Access Bars
      1. Creating an Access Bar
      2. Using the Access Bar Callback Message
      3. Changing an Access Bar's Size or Position
    3. Getting Information About the Taskbar

Chapter Twelve: File Viewers

  1. How File Viewers Work
  2. How File Viewers Are Instantiated
  3. Registering File Viewers with the System
    1. The Structure of Registry Entries
    2. An Example of Registering a File Viewer
  4. Basic Steps in Creating a File Viewer
    1. Step One: Create the Project
    2. Step Two: Generate GUIDs
    3. Step Three: Create the Object Class
    4. Step Four: Implement the Basic Object
    5. Step Five: Implement the IUnknown Interface
    6. Step Six: Implement the IFileViewer Interface
    7. Step Seven: Implement the IPersistFile Interface
    8. Step Eight: Let MFC Initialize the Class Factories for You
    9. Step Nine: Create the Class to Show the File Contents
    10. Step Ten: Build, Register, and Run the File Viewer

Part 3

Chapter Thirteen: User Interface Extensions

  1. Registering User Interface Extensions
    1. Implementing IShellExtInit
    2. Initializing with IPersistFile
    3. Context Menu Handlers
  2. Registering Context Menu Handlers
  3. Drag-and-Drop Handlers
  4. Icon Handlers
  5. Property Sheet Handlers
  6. Copy Hook Handlers
  7. Drop Target Handlers
  8. Data Object Handlers
  9. Debugging User Interface Extensions
  10. User Interface Extensions and Windows NT

Chapter Fourteen: The Shell Name Space

  1. Definitions
  2. Enumerating Items in the Shell
  3. Getting Friendly Names and Icons
  4. Getting Object Attributes
  5. Filling the List View Control
  6. Displaying an Item's Context Menu
  7. Supporting Drag and Drop

Part 4