CHF32.90
Download steht sofort bereit
"This book is the best way for beginning developers to learn wxWidgets programming in C++. It is a must-have for programmers thinking of using wxWidgets and those already using it."
-Mitch Kapor, founder of Lotus Software and the Open Source Applications Foundation
Build advanced cross-platform applications that support native look-and-feel on Windows, Linux, Unix, Mac OS X, and even Pocket PC
Master wxWidgets from start to finish-even if you've never built GUI applications before
Leverage advanced wxWidgets capabilities: networking, multithreading, streaming, and more
CD-ROM: library of development tools, source code, and sample applications
Foreword by Mitch Kapor, founder, Lotus Development and Open Source Application Foundation
wxWidgets is an easy-to-use, open source C++ API for writing GUI applications that run on Windows, Linux, Unix, Mac OS X, and even Pocket PC-supporting each platform's native look and feel with virtually no additional coding. Now, its creator and two leading developers teach you all you need to know to write robust cross-platform software with wxWidgets. This book covers everything from dialog boxes to drag-and-drop, from networking to multithreading. It includes all the tools and code you need to get great results, fast. From AMD to AOL, Lockheed Martin to Xerox, world-class developers are using wxWidgets to save money, increase efficiency, and reach new markets. With this book, you can, too.
wxWidgets quickstart: event/input handling, window layouts, drawing, printing, dialogs, and more
Working with window classes, from simple to advanced
Memory management, debugging, error checking, internationalization, and other advanced topics
Includes extensive code samples for Windows, Linux (GTK+), and Mac OS X About the CD-ROM The CD-ROM contains all of the source code from the book; wxWidgets distributions for Windows, Linux, Unix, Mac OS X, and other platforms; the wxWidgets reference guide; and development tools including the OpenWatcom C++ compiler, the poEdit translation helper, and the DialogBlocks user interface builder.
© Copyright Pearson Education. All rights reserved.
Autorentext
Julian Smart has degrees from the University of St. Andrews and the University of Dundee. After working on model-based reasoning at the Scottish Crop Research Institute, he moved to the Artificial Intelligence Applications Institute at the University of Edinburgh, where he founded the wxWidgets project in 1992. Since starting Anthemion Software in 1996, Julian has been helping other companies deploy wxWidgets, and he sells tools for programmers, including DialogBlocks and HelpBlocks. He has worked as a consultant for various companies including Borland and was a member of Red Hat's eCos team, writing GUI tools to support the embedded operating system. In 2004, Julian and his wife Harriet launched a consumer product for fiction writers called Writer's Café, written with wxWidgets. Julian and Harriet live in Edinburgh with their daughter Toni.
Kevin Hock has degrees from Miami University (Oxford, Ohio) in Computer Science and Accounting and has taught courses at Miami in both Java and client-server systems. In 2002, he started work on an instant messaging system and founded BitWise Communications, LLC, in 2003, offering both professional and personal instant messaging. During the course of developing BitWise using wxWidgets, Kevin became a wxWidgets developer and has provided enhancements to all platforms. Kevin lives in Oxford, Ohio.
Stefan Csomor is director and owner of Advanced Concepts AG, a company that specializes in cross-platform development and consulting. In addition to being a qualified medical doctor, he has more than 15 years of experience in object-oriented programming and has been writing software for 25 years. Stefan is the main author of the Mac OS port of wxWidgets.
© Copyright Pearson Education. All rights reserved.
Inhalt
Foreword by Mitch Kapor.
Preface.
Acknowledgments.
About the Authors.
Introduction.
What Is wxWidgets?
Why Use wxWidgets?
A Brief History of wxWidgets
The wxWidgets Community
wxWidgets and Object-Oriented Programming
License Considerations
The wxWidgets Architecture
wxMSW
wxGTK
wxX11
wxMotif
wxMac
wxCocoa
wxWinCE
wxPalmOS
wxOS2
wxMGL
Internal Organization
Summary
Getting Started.
A Small wxWidgets Sample
The Application Class
The Frame Class
The Event Handlers
The Frame Constructor
The Whole Program
Compiling and Running the Program
Program Flow
Summary
Event Handling.
Event-Driven Programming
Event Tables and Handlers
Skipping Events
Pluggable Event Handlers
Dynamic Event Handlers
Window Identifiers
Defining Custom Events
Summary
Window Basics.
Anatomy of a Window
The Concept of a Window
Client and Non-Client Areas
Scrollbars
Caret and Cursor
Top-Level Windows
Coordinate System
Painting
Color and Font
Window Variant
Sizing
Input
Idle Time Processing and UI Updates
Window Creation and Deletion
Window Styles
A Quick Guide to the Window Classes
Base Window Classes
Top-Level Windows
Container Windows
Non-Static Controls
Static Controls
Menus
Control Bars
Base Window Classes
wxWindow
wxControl
Top-Level Windows
wxFrame
wxMDIParentFrame
wxMDIChildFrame
wxDialog
wxPopupWindow
Container Windows
wxPanel
wxNotebook
wxScrolledWindow
wxSplitterWindow
Non-Static Controls
wxButton
wxButton Labels
wxBitmapButton
wxChoice
wxComboBox
wxCheckBox
wxListBox and wxCheckListBox
wxRadioBox
wxRadioButton
wxScrollBar
wxSpinButton
wxSpinCtrl
wxSlider
wxTextCtrl
wxToggleButton
Static Controls
wxGauge
wxStaticText
wxStaticBitmap
wxStaticLine
wxStaticBox
Menus
wxMenu
Control Bars
wxMenuBar
wxToolBar
wxStatusBar
Summary
Drawing and Printing.
Understanding Device Contexts
Available Device Contexts
Drawing on Windows with wxClientDC
Erasing Window Backgrounds
Drawing on Windows with wxPaintDC
Drawing on Bitmaps with wxMemoryDC
Creating Metafiles with wxMetafileDC
Accessing the Screen with wxScreenDC
Printing with wxPrinterDC and wxPostScriptDC
Drawing Tools
wxColour
wxPen
wxBrush
wxFont
wxPalette
Device Context Drawing Functions
Drawing Text
Drawing Lines and Shapes
Drawing Splines
Drawing Bitmaps
Filling Arbitrary Areas
Logical Functions
Using the Printing Framework
More on wxPrintout
Scaling for Printing and Previewing
Printing under Unix with GTK+
3D Graphics with wxGLCanvas
Summary
Handling Input.
Mouse Input
Handling Button and Motion Events
Handling Mouse Wheel Events
Handling Keyboard Events
An Example Character Event Handler
Key Code Translation
Modifier Key Variations
Accelerators
Handling Joystick Events
wxJoystick Events
wxJoystickEvent Member Functions
wxJoystick Member Functions
Summary
Window Layout Using Sizers.
Layout Basics
Sizers
Common Features of Sizers
Programming with Sizers
Programming with wxBoxSizer
Programming with wxStaticBoxSizer
Programming with wxGridSizer
Programming with wxFlexGridSizer
Programming with wxGridBagSizer
Further Layout Issues
Dialog Units
Platform-Adaptive Layouts
Dynamic Layouts
Summary
Using Standard Dialogs.
Informative Dialogs
wxMessageDialog
wxProgressDialog
wxProgressDialog Example
wxBusyInfo
wxShowTip
File and Directory Dialogs
wxF…