2005年7月27号,wxWidgets book 正式出版,以后大家学习wxWidgets就有参考了。该书总共650页,详细介绍了wxWidgets开发过程的各种技术,由Julian Smart, Kevin Hock, Stefan Csomor编写,亚马逊上有卖,不知道什么时候能够引进。
图书预览
Chapter 1: Introduction What is wxWidgets, and why use it? A brief history; the wxWidgets community; the license; wxWidgets ports and architecture explained.
Chapter 2: Getting started A small wxWidgets sample: the application class; the main window; the event table; an outline of program flow.
Chapter 3: Event handling Event tables and handlers; how a button click is processed; skipping events; pluggable and dynamic event handlers; defining custom events; window identifiers.
Chapter 4: Window basics The main features of a window explained; a quick guide to the commonest window classes; base window classes such as wxWindow; top-level windows; container windows; non-static controls; static controls; menus; control bars.
Chapter 5: Drawing and printing Device context principles; the main device context classes described; buffered drawing; drawing tools; device context drawing functions; using the printing framework; 3D graphics with wxGLCanvas.
Chapter 6: Handling input Handling mouse and mouse wheel events; handling keyboard events; keycodes; modifier key variations; accelerators; handling joystick events.
Chapter 7: Window layout using sizers Layout basics; sizers introduced; common features of sizers; programming with sizers. Further layout issues: dialog units; platform-adaptive layouts; dynamic layouts.
Chapter 8: Using standard dialogs Informative dialogs such as wxMessageBox and wxProgressDialog; file and directory dialogs such as wxFileDialog; choice and selection dialogs such as wxColourDialog and wxFontDialog; entry dialogs such as wxTextEntryDialog and wxFindReplaceDialog; printing dialogs: wxPageSetupDialog and wxPrintDialog.
Chapter 9: Creating custom dialogs Steps in creating a custom dialog; an example: PersonalRecordDialog; deriving a new class; designing data storage; coding the controls and layout; data transfer and validation; handling events; handling UI updates; adding help; adapting dialogs for small devices; further considerations in dialog design; using wxWidgets resource files; loading resources; using binary and embedded resource files; translating resources; the XRC format; writing resource handlers; foreign controls.
Chapter 10: Programming with images Image classes in wxWidgets; programming with wxBitmap; programming with wxIcon; programming with wxCursor; programming with wxImage; image lists and icon bundles; customizing wxWidgets graphics with wxArtProvider.
Chapter 11: Clipboard and drag and drop Data objects; data source duties; data target duties; using the clipboard; implementing drag and drop; implementing a drag source; implementing a drop target; using standard drop targets; creating a custom drop target; more on wxDataObject; drag and drop helpers in wxWidgets.
Chapter 12: Advanced window classes wxTreeCtrl; wxListCtrl; wxWizard; wxHtmlWindow; wxGrid; wxTaskBarIcon; writing your own controls; the control declaration; defining a new event class; displaying information; handling input; defining default event handlers; implementing validators; implementing resource handlers; determining control appearance.
Chapter 13: Data structure classes Why not STL? wxString; wxStringTokenizer; wxRegEx; wxArray; wxList; wxHashMap; dates and times; wxObject; wxLongLong; wxPoint and wxRealPoint; wxRect; wxRegion; wxSize; wxVariant.
Chapter 14: Files and streams wxFile and wxFFile; wxTextFile; wxTempFile; wxDir; wxFileName; file functions; file streams; memory and string streams; data streams; socket streams; filter streams; zip streams; virtual file systems.
Chapter 15: Memory management, debugging and error checking Creating and deleting window objects; creating and copying drawing objects; initializing your application object; cleaning up your application; detecting memory leaks and other errors; facilities for defensive programming; error reporting; providing run-time type information; using wxModule; loading dynamic libraries; exception handling; debugging tips.
Chapter 16: Writing international applications Introduction to internationalization; providing translations; using message catalogs; using wxLocale; character encodings and Unicode; converting data; help files; numbers and dates; other media; an example.
Chapter 17: Writing multithreaded applications When to use threads, and when not to; using wxThread; thread creation; starting the thread; how to pause a thread or wait for an external condition; termination; synchronization objects; wxMutex; deadlocks; wxCriticalSection; wxCondition; wxSemaphore; the wxWidgets thread sample; alternatives to multithreading: wxTimer, idle time processing, and yielding.
Chapter 18: Programming with wxSocket Socket classes and functionality overview; introduction to sockets and basic socket processing; the client; the server; connecting to a server; socket events; socket status and error notifications; sending and receiving socket data; creating a server; socket event recap; socket flags; blocking and non-blocking sockets in wxWidgets; how flags affect socket behavior; using wxSocket as a standard socket; using socket streams; alternatives to wxSocket.
Chapter 19: Working with documents and views Document/view basics; choosing an interface style; creating and using frame classes; defining your document and view classes; defining your window classes; using wxDocManager and wxDocTemplate; other document/view capabilities; standard identifiers; printing and previewing; file history; explicit document creation; strategies for implementing undo/redo.
Chapter 20: Perfecting your application Single instance versus multiple instances; modifying event handling; reducing flicker; using a help controller; extended wxWidgets HTML help; authoring help; other ways to provide help; parsing the command line; storing application resources; invoking other applications; launching documents; redirecting process input and output; managing application settings; application installation on Windows, Linux and Mac OS X; following UI design guidelines.
Appendix A: Installing wxWidgets Downloading and unpacking wxWidgets; configuration/build options; Windows - Microsoft Visual Studio and VC++ command-line; Windows - Borland C++; Windows - MinGW with and without MSYS; Unix/Linux and Mac OS X - GCC; customizing setup.h; rebuilding after updating wxWidgets files; using "contrib" libraries.
Appendix B: Building your own wxWidgets applications Windows - Microsoft Visual Studio; Linux - KDevelop; Mac OS X - Xcode; makefiles; cross-platform builds using Bakefile; wxWidgets symbols and headers; using wx-config.
Appendix C: Creating applications with DialogBlocks What is DialogBlocks? Installing and upgrading DialogBlocks; the DialogBlocks interface; the sample project; compiling the sample; creating a new project; creating a dialog; creating a frame; creating an application object; debugging your application.
Appendix D: Other features in wxWidgets Further window classes; ODBC classes; MIME types manager; network functionality; multimedia classes; embedded web browsers; accessibility; OLE automation; renderer classes; event loops.
Appendix E: Third-party tools for wxWidgets Language bindings such as wxPython and wxPerl; tools such as wxDesigner, DialogBlocks and poEdit; add-on libraries such as wxMozilla, wxCURL, wxPropertyGrid.
Appendix F: wxWidgets application showcase Descriptions of notable wxWidgets applications, such as AOL Communicator and Audacity.
Appendix G: Using the CD-ROM
Browsing the CD-ROM; the CD-ROM contents.
Appendix H: How wxWidgets processes events An illustrated description of how event processing works.
Appendix I: Event classes and macros A summary of the important event classes and macros.
Appendix J: Code Listings Code listings for the PersonalRecordDialog and the wxWizard examples.
Appendix K: Porting from MFC General observations; application initialization; message maps; converting dialogs and other resources; documents and views; printing; string handling and translation; database access; configurable control bars; equivalent functionality by macros and classes.