Cross-Platform GUI Programming with wxWidgets, w. CD-ROM

Versandkostenfrei!
Nicht lieferbar
Unlike other cross-platform GUI toolkits (Tcl/Tk, Qt, AWT) wxWidgets

supports the native look-and-feel of the local OS. And unlike Qt, wxWidgets is

truly Open Source. It also works with virtually every standard C++ compiler.

It is a perfect solution for organizations interested in porting Windows

applications to Linux and other platforms. And with Mac OS X and Linux

gaining marketshare daily, many organizations -- including Xerox, Advanced

Micro Devices, AOL, Lockheed Martin, NASA--have adopted wxWidgets in

order to support Windows, Linux, OS X, and Unix for their applications. See

http://www.wxwidgets.org/

And wxWidgets is HOT. Mitch Kapor's OSAF is using wxWidgets for its

Chandler PIM. Bram Cohen uses wxWidgets for BitTorrent. Borland has

added enormous credibility to wxWidgets by incorporating it into its newest

C++ IDE: C++ BuilderX. wxWidgets is Borland's cross-platform

development solution.

Product Description
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.

Features + Benefits
The authoritative guide to developing cross-platform C++ GUI applications using the hot wxWidgets toolkit -- from its creator!

° As Mac OS X and Linux gain share, wxWidgets is emerging as the best crossplatform

GUI toolkit.

° Better than MFC - the creator of wxWidgets shows readers how to build C++

applications that support Windows, Linux and Mac OS X - prior GUI programming

experience is not required.

° Foreword from Mitch Kapor (founder of Lotus Development, OSAF). Incredible

support from wxWidgets community!

Backcover
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.

Foreword by Mitch Kapor.

Preface.

Acknowledgments.

About the Authors.

1. 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

2. 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

3. Event Handling.

Event-Driven Programming

Event Tables and Handlers

Skipping Events

Pluggable Event Handlers

Dynamic Event Handlers

Window Identifiers

Defining Custom Events

Summary

4. 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

5. 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

6. 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

7. Window Layout Using Sizers.

Layout Basics

Sizers

Common Features of Sizers

Programming with Sizers

Programming with wxBoxSizer

Programming with wxStaticBoxSizer