Guides & Tutorials
The following are guides that can help with understanding various portions of the framework. There is also several sample applications included with every release.
wxWidget Design Patterns
- Sharing info between dialogs - more a C++ issue than a wx one, but comes up very often on the forum so at least we have a place to point people to...
- Events - Notes on using events in wxWidgets
- KeyCodes - wxWidgets keyboard mapping
- Subclassing WxControl - A simple example on how to subclass existing controls
- wxSizer - Lots of helpful tips on sizers here
- RTTI - The black art of wxWidgets RTTI (Runtime Type Information)
- Multiple Inheritance - The black art of using multiple inheritance in wxWidgets
- Wilcox:Subclassing Top Level Windows - Best Practices when subclassing wxFrame and the like
- Using XML With WxWidgets - XML processing with wxWidgets
DCs (Drawing, rendering, printing)
- Drawing on a panel with a DC
- An image panel
- Making a render loop
- Painting your custom control
- Mixing wxWidgets with Cairo (under construction)
Text, languages, strings
- Converting everything to and from wxString
- Unicode - Unicode support in wxWidgets
- Internationalization - support for internationalization
- Reading text from a file and also writing
- Creating A DLL Of An Application
- Using DLL Version Of WxWidgets Compiled With Open Watcom
- Programs That Support Plugins - Using DLLs
Resources and images
- Resource Files - Using wxWidgets resource files (also known as XRC).
- Embedding PNG Images - Including PNG image files into executables.
- Using wxImage to load textures for OpenGL
Executables, binaries, installers and distribution
- Installers - Distributing your application on all platforms.
- Distributing WxWidgets Applications
- Reducing Executable Size - some tips
Internet and networking
- Launching The Default Browser - kinda tricky prior to wx 2.6
- Calling The Default Browser In WxHtmlWindow - How to call the external browser on Internet URLs
- Getting IP Address Of Host
- Download a file from internet
- WxWidgets Source Oddities - About wxT(), __GNUG__, WXUNUSED(), etc..
- Undocumented Parts Of WxWidgets
- wxWidgets Source Code Overview
- Updating to the Latest Version of wxWidgets - Additional user notes about upgrading wxWidgets between new major and minor versions (ie: 2.6 to 2.8) not found in docs/changes.txt.
Events, threads, flow
- WxBase Eventloop - implementing an event loop and timers in wxBase
- Inter-Thread and Inter-Process communication
- Catching key events globally
- Dragging a wxWindow around
- Making a new reusable widget by combining existing widgets
- Command-Line Arguments
- Debugging A WxWindow Application - Using __WXDEBUG__, for example.
- Avoiding Memory Leaks - Partly general C++ programming tips, but also some information on wxWidgets' automatic memory management that's interesting for experienced C++-programmers.
- Namespaces - How to derive from wxWidgets classes and use a namespace
- Using Text Templates - example for combining wxHashMap, wxVariant to make text templates, especially embedding wxImage in a wxHTML page.
- ODBC - howto work with it under wxWidgets
- Wx In Non-Wx Applications
- WxMac_BadgeLabels - wxMac specific: How to display a badge label at the dock icon
- Adding a custom lexer with syntax highlighting and folding to a WxStyledTextCtrl - Adding your own customized "lexer" to a wxStyledTextCtrl to highlight and fold custom formats
- wxBasic utilities - Describes how to build your complete IDE for writing Windows/Linux applications using the freeware ConTEXT text editor and the wxBasic binding. Contains English and Italian tutorials.
- Obtaining the path of the application - Not the current working directory, scroll down to 'Tips for finding the application path'.
- Program Phase 1-16 - implements Program Phase Task 1 using C++ and wxWidgets on the Linux and Windows platforms.
- wxWidgets 101: Building Professional Application with C++(Three Parts: Beginner, Intermediate and Advanced)
- wxPython Widget Tutorial Series
- wxPython tutorials
- Understanding Sizers
- Simple HOW-TO how Sizers work
- Tutorial by zetcode
- Writing Your First Application
- wxTutorial by Franky Braem
- MadMonky1's Tutorial
- Programming with wxWindows (by David Beech)
- Building wxMGL Port
- Compiling A WxWidgets Application
- Compiling Using MSVC On The Commandline
- wxBasic Tutorial
- wxMS_developers Tutorials and Demos
- Minimal wxFrame App using wx-DevC++
- Extended wxFrame App using wx-DevC++
- OpenGL application using wx-DevC++
- Screencast for creating simple Dialog using wxForms
- Screencast for creating Hello World using wxForms for Delphi
- Building wxWidgets and compiling samples with CLion IDE