From: Robert Roebling Date: Fri, 22 May 1998 19:08:19 +0000 (+0000) Subject: Added dynamic events sample. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/69d2886dfe999744dde8ae0d11d67b42613a0a11?ds=inline Added dynamic events sample. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/samples/dynamic/minimal.cpp b/samples/dynamic/minimal.cpp new file mode 100644 index 0000000000..0015847436 --- /dev/null +++ b/samples/dynamic/minimal.cpp @@ -0,0 +1,111 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: minimal.cpp +// Purpose: Dynamic events wxWindows sample +// Author: Julian Smart +// Modified by: +// Created: 04/01/98 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart and Markus Holzem +// Licence: wxWindows license +///////////////////////////////////////////////////////////////////////////// + +#ifdef __GNUG__ +#pragma implementation "minimal.cpp" +#pragma interface "minimal.cpp" +#endif + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +// Define a new application type +class MyApp: public wxApp +{ public: + bool OnInit(void); +}; + +// Define a new frame type +class MyFrame: public wxFrame +{ public: + MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h); + + public: + void OnQuit(wxCommandEvent& event); + void OnAbout(wxCommandEvent& event); + bool OnClose(void) { return TRUE; } +}; + +// ID for the menu commands +#define MINIMAL_QUIT 1 +#define MINIMAL_TEXT 101 +#define MINIMAL_ABOUT 102 + +// Create a new application object +IMPLEMENT_APP (MyApp) + +// `Main program' equivalent, creating windows and returning main app frame +bool MyApp::OnInit(void) +{ + // Create the main frame window + MyFrame *frame = new MyFrame(NULL, "Minimal wxWindows App", 50, 50, 450, 340); + + frame->Connect( MINIMAL_QUIT, -1, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction)MyFrame::OnQuit ); + frame->Connect( MINIMAL_ABOUT, -1, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction)MyFrame::OnAbout ); + + // Give it an icon +#ifdef __WINDOWS__ + frame->SetIcon(wxIcon("mondrian")); +#endif +#ifdef __X__ + frame->SetIcon(wxIcon("aiai.xbm")); +#endif + + // Make a menubar + wxMenu *file_menu = new wxMenu; + + file_menu->Append(MINIMAL_ABOUT, "&About"); + file_menu->Append(MINIMAL_QUIT, "E&xit"); + wxMenuBar *menu_bar = new wxMenuBar; + menu_bar->Append(file_menu, "&File"); + frame->SetMenuBar(menu_bar); + + // Make a panel with a message + wxPanel *panel = new wxPanel(frame, -1, wxPoint(0, 0), wxSize(400, 200), wxTAB_TRAVERSAL); + + wxStaticText *msg = new wxStaticText(panel, 311, "Hello!", wxPoint(10, 10), wxSize(-1, -1), + 0); + + // Show the frame + frame->Show(TRUE); + + SetTopWindow(frame); + + return TRUE; +} + +// My frame constructor +MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h): + wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)) +{} + +void MyFrame::OnQuit(wxCommandEvent& event) +{ + Close(TRUE); +} + +void MyFrame::OnAbout(wxCommandEvent& event) +{ + wxMessageDialog dialog(this, "This is a minimal sample\nA second line in the message box", + "About Minimal", wxYES_NO|wxCANCEL); + + dialog.ShowModal(); +} + + diff --git a/samples/dynamic/minimal.def b/samples/dynamic/minimal.def new file mode 100644 index 0000000000..060bfe3fce --- /dev/null +++ b/samples/dynamic/minimal.def @@ -0,0 +1,8 @@ +NAME Minimal +DESCRIPTION 'Minimal wxWindows application' +EXETYPE WINDOWS +STUB 'WINSTUB.EXE' +CODE PRELOAD MOVEABLE DISCARDABLE +DATA PRELOAD MOVEABLE MULTIPLE +HEAPSIZE 4048 +STACKSIZE 16000 diff --git a/samples/dynamic/minimal.rc b/samples/dynamic/minimal.rc new file mode 100644 index 0000000000..7655c62a4c --- /dev/null +++ b/samples/dynamic/minimal.rc @@ -0,0 +1,3 @@ +mondrian ICON "mondrian.ico" +#include "wx/msw/wx.rc" +