wxWidgets/docs/doxygen/overviews/roughguide.h
Francesco Montorsi 36c9828f70 removed useless spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-19 13:28:24 +00:00

55 lines
2.7 KiB
C

/////////////////////////////////////////////////////////////////////////////
// Name: roughguide
// Purpose: topic overview
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/*!
@page roughguide_overview Writing a wxWidgets application: a rough guide
To set a wxWidgets application going, you will need to derive a #wxApp class and
override wxApp::OnInit.
An application must have a top-level #wxFrame or #wxDialog window.
Each frame may contain one or more instances of classes such as #wxPanel, #wxSplitterWindow
or other windows and controls.
A frame can have a #wxMenuBar, a #wxToolBar, a status line, and a #wxIcon for
when the frame is iconized.
A #wxPanel is used to place controls (classes derived from #wxControl)
which are used for user interaction. Examples of controls are #wxButton,
#wxCheckBox, #wxChoice, #wxListBox,
#wxRadioBox, #wxSlider.
Instances of #wxDialog can also be used for controls and they have
the advantage of not requiring a separate frame.
Instead of creating a dialog box and populating it with items, it is possible to choose
one of the convenient common dialog classes, such as #wxMessageDialog
and #wxFileDialog.
You never draw directly onto a window - you use a @e device context (DC). #wxDC is
the base for #wxClientDC, #wxPaintDC, #wxMemoryDC, #wxPostScriptDC,
#wxMemoryDC, #wxMetafileDC and #wxPrinterDC.
If your drawing functions have @b wxDC as a parameter, you can pass any of these DCs
to the function, and thus use the same code to draw to several different devices.
You can draw using the member functions of @b wxDC, such as wxDC::DrawLine
and wxDC::DrawText. Control colour on a window (#wxColour) with
brushes (#wxBrush) and pens (#wxPen).
To intercept events, you add a DECLARE_EVENT_TABLE macro to the window class declaration,
and put a BEGIN_EVENT_TABLE ... END_EVENT_TABLE block in the implementation file. Between these
macros, you add event macros which map the event (such as a mouse click) to a member function.
These might override predefined event handlers such as for #wxKeyEvent and
#wxMouseEvent.
Most modern applications will have an on-line, hypertext help system; for this, you
need wxHelp and the #wxHelpController class to control
wxHelp.
GUI applications aren't all graphical wizardry. List and hash table needs are
catered for by #wxList and #wxHashMap.
You will undoubtedly need some platform-independent @ref filefunctions_overview,
and you may find it handy to maintain and search a list of paths using #wxPathList.
There's a #miscellany of operating system and other functions.
See also @ref classesbycat_overview for a list of classes.
*/