Preface. Part I. Fundamentals. 1. The Workspace The Project Window Editing Windows Adding Functionality How the Three Editors Relate Testing Without Building Online Help Shortcuts. 2. The Basic Language Lines and Commands Variables and Constants Subroutines Regulating Flow Arrays Recursion Comments 3. Objects, Classes, and Instances Messages and Dot Notation Object Design Philosophy Classes and Instances Anatomy of a Class An Instance Is Born Referring to Instances The Truth About Controls Control Clones and Control Arrays Being Careful with Instance References Destruction of Instances. 4. Class Relationships and Class Features New Classes and Inheritance Casting Overriding Class Interfaces Events and New Events The Class Hierarchy Global Members Advanced Class Features Example Classes. 5. Datatypes Booleans Strings Numbers Variants Collections Dates Colors Memoryblocks Threads. 6. Menus Menu Overview Editing Menus Special Menu Items The Menu-Enabling Moment Menu Item Functionality Dynamic Menus Menu Examples. 7. The Architecture of an Application Three Pillars of Zen The Application Subclass Order of Events 8. Debugging and Building Compile Errors Exceptions The Debugger Building Part II. User Interface. 9. Windows Window Types Opening and Closing, Showing and Hiding Title, Position, and Size Events Drawing in a Window. 10. Abstract Control Classes Lifetime Events Appearance Position and Size Mouse Movement Events Redrawing. 11. Canvases Canvas Events, Properties, and Methods Picture Class Graphics Class Backdrop Property Fun With Graphics Properties Canvas Graphics Property Transparency and Icons Speed Interaction with Other Objects. 12. Buttons and StaticTexts PushButton BevelButton Placard LittleArrows CheckBox RadioButton and GroupBox DisclosureTriangle StaticText Custom Buttons. 13. EditFields Types of EditField EditField Events, Properties, and Methods The Focus Manipulating Text and Styles Reacting to User Input Drawing Styled Text Miscellaneous Tips. 14. ListBoxes ListBox Features ListBox Events, Properties, and Methods Basic ListBox Techniques Hierarchical ListBoxes Other ListBox Features. 15. ProgressBars, Sliders, and Scrollbars ProgressBar Slider Scrollbar. 16. Shapes and Decorations Line Shapes Separator ImageWell ChasingArrows PopupArrow. 17. Menus in Windows PopupMenu BevelButton ContextualMenu Alternatives. 18. TabPanels Preparation Properties and Events Usage. 19. Keyboard Keyboard Communication Keyboard Object UserCancelled. 20. Mouse and Cursor Mouse Communication Polling the Mouse Balloon Help Cursor Part III. Reaching Out. 21. Files Getting a FolderItem File Types File Properties and File Actions Arbitrary Data: Binary Streams Sequential Data: Text Streams Resources Predefined Data Formats. 22. Databases Database Files and Classes Schemas Displaying Data Other Data Sources. 23. Clipboard Clipboard Class Usage. 24. Drag-and-Drop Beginning a Drag Receiving a Drop Finder Drop Internal Drag-and-Drop Limitations and Workarounds. 25. Time Ticks and Microseconds Timers Yielding Time. 26. Sound Beep Sound Object MIDI Notes. 27. Movies Movie Class MoviePlayer Movie Usage Making Movies Analyzing Movies. 28. Animation Configuring the SpriteSurface Basic Sprite Techniques Basic Background Techniques Improving the Classes Intelligent Sprite Behavior Responding to Keys Intelligent Collisions. 29. Printing Page Setup Proceeding To Print Measurement Problems Printing Text 30. TCP/IP Communications Socket Properties, Methods, and Events Client Server. 31. Interapplication Communications Sending Apple Events Receiving Apple Events Apple Event Classes, Properties, and Methods Apple Event Inadequacies AppleScripts Shell. 32. Language Extensions Direct Toolbox Calls XCMDs Shared Libraries Plug-ins Growing an Application Index