]>
Commit | Line | Data |
---|---|---|
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 |
15 | To set a wxWidgets application going, you will need to derive a wxApp class and |
16 | override wxApp::OnInit. | |
a2968d85 | 17 | |
721a49c7 BP |
18 | An application must have a top-level wxFrame or wxDialog window. Each frame may |
19 | contain one or more instances of classes such as wxPanel, wxSplitterWindow or | |
20 | other windows and controls. | |
a2968d85 | 21 | |
721a49c7 BP |
22 | A frame can have a wxMenuBar, a wxToolBar, a wxStatusBar, and a wxIcon for when |
23 | the frame is iconized. | |
a2968d85 | 24 | |
721a49c7 BP |
25 | A wxPanel is used to place controls (classes derived from wxControl) which are |
26 | used for user interaction. Examples of controls are wxButton, wxCheckBox, | |
27 | wxChoice, wxListBox, wxRadioBox, and wxSlider. | |
a2968d85 | 28 | |
721a49c7 BP |
29 | Instances of wxDialog can also be used for controls and they have the advantage |
30 | of not requiring a separate frame. | |
a2968d85 BP |
31 | |
32 | Instead of creating a dialog box and populating it with items, it is possible | |
721a49c7 BP |
33 | to choose one of the convenient common dialog classes, such as wxMessageDialog |
34 | and wxFileDialog. | |
a2968d85 BP |
35 | |
36 | You never draw directly onto a window - you use a <em>device context</em> (DC). | |
721a49c7 BP |
37 | wxDC is the base for wxClientDC, wxPaintDC, wxMemoryDC, wxPostScriptDC, |
38 | wxMemoryDC, wxMetafileDC and wxPrinterDC. If your drawing functions have wxDC | |
39 | as a parameter, you can pass any of these DCs to the function, and thus use the | |
40 | same code to draw to several different devices. You can draw using the member | |
41 | functions of wxDC, such as wxDC::DrawLine and wxDC::DrawText. Control colour on | |
42 | a window (wxColour) with brushes (wxBrush) and pens (wxPen). | |
a2968d85 BP |
43 | |
44 | To intercept events, you add a DECLARE_EVENT_TABLE macro to the window class | |
45 | declaration, and put a BEGIN_EVENT_TABLE ... END_EVENT_TABLE block in the | |
46 | implementation file. Between these macros, you add event macros which map the | |
47 | event (such as a mouse click) to a member function. These might override | |
721a49c7 | 48 | predefined event handlers such as for wxKeyEvent and wxMouseEvent. |
a2968d85 BP |
49 | |
50 | Most modern applications will have an on-line, hypertext help system; for this, | |
721a49c7 | 51 | you need wxHelp and the wxHelpController class to control wxHelp. |
a2968d85 BP |
52 | |
53 | GUI applications aren't all graphical wizardry. List and hash table needs are | |
721a49c7 | 54 | catered for by wxList and wxHashMap. You will undoubtedly need some |
409e6ce4 | 55 | platform-independent @ref group_funcmacro_file, and you may find it handy to |
721a49c7 | 56 | maintain 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 | */ |