]> git.saurik.com Git - wxWidgets.git/blame - docs/doxygen/overviews/roughguide.h
Fix broken and missing DataView interface items for Phoenix
[wxWidgets.git] / docs / doxygen / overviews / roughguide.h
CommitLineData
15b6757b 1/////////////////////////////////////////////////////////////////////////////
c6e29550 2// Name: roughguide.h
15b6757b
FM
3// Purpose: topic overview
4// Author: wxWidgets team
5// RCS-ID: $Id$
526954c5 6// Licence: wxWindows licence
15b6757b
FM
7/////////////////////////////////////////////////////////////////////////////
8
880efa2a 9/**
36c9828f 10
880efa2a 11@page overview_roughguide A Quick Guide to Writing Applications
36c9828f 12
831e1028
BP
13@tableofcontents
14
721a49c7
BP
15To set a wxWidgets application going, you will need to derive a wxApp class and
16override wxApp::OnInit.
a2968d85 17
721a49c7
BP
18An application must have a top-level wxFrame or wxDialog window. Each frame may
19contain one or more instances of classes such as wxPanel, wxSplitterWindow or
20other windows and controls.
a2968d85 21
721a49c7
BP
22A frame can have a wxMenuBar, a wxToolBar, a wxStatusBar, and a wxIcon for when
23the frame is iconized.
a2968d85 24
721a49c7
BP
25A wxPanel is used to place controls (classes derived from wxControl) which are
26used for user interaction. Examples of controls are wxButton, wxCheckBox,
27wxChoice, wxListBox, wxRadioBox, and wxSlider.
a2968d85 28
721a49c7
BP
29Instances of wxDialog can also be used for controls and they have the advantage
30of not requiring a separate frame.
a2968d85
BP
31
32Instead of creating a dialog box and populating it with items, it is possible
721a49c7
BP
33to choose one of the convenient common dialog classes, such as wxMessageDialog
34and wxFileDialog.
a2968d85
BP
35
36You never draw directly onto a window - you use a <em>device context</em> (DC).
721a49c7
BP
37wxDC is the base for wxClientDC, wxPaintDC, wxMemoryDC, wxPostScriptDC,
38wxMemoryDC, wxMetafileDC and wxPrinterDC. If your drawing functions have wxDC
39as a parameter, you can pass any of these DCs to the function, and thus use the
40same code to draw to several different devices. You can draw using the member
41functions of wxDC, such as wxDC::DrawLine and wxDC::DrawText. Control colour on
42a window (wxColour) with brushes (wxBrush) and pens (wxPen).
a2968d85
BP
43
44To intercept events, you add a DECLARE_EVENT_TABLE macro to the window class
45declaration, and put a BEGIN_EVENT_TABLE ... END_EVENT_TABLE block in the
46implementation file. Between these macros, you add event macros which map the
47event (such as a mouse click) to a member function. These might override
721a49c7 48predefined event handlers such as for wxKeyEvent and wxMouseEvent.
a2968d85
BP
49
50Most modern applications will have an on-line, hypertext help system; for this,
721a49c7 51you need wxHelp and the wxHelpController class to control wxHelp.
a2968d85
BP
52
53GUI applications aren't all graphical wizardry. List and hash table needs are
721a49c7 54catered for by wxList and wxHashMap. You will undoubtedly need some
409e6ce4 55platform-independent @ref group_funcmacro_file, and you may find it handy to
721a49c7 56maintain and search a list of paths using wxPathList. There's many
409e6ce4 57@ref group_funcmacro_misc of operating system methods and other functions.
a2968d85 58
831e1028 59@see @ref group_class
a2968d85
BP
60
61*/