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.