]> git.saurik.com Git - wxWidgets.git/blame_incremental - samples/nativdlg/nativdlg.cpp
wxSplash sample code, sample image, bake and make files.
[wxWidgets.git] / samples / nativdlg / nativdlg.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: nativdlg.cpp
3// Purpose: Native Windows dialog sample
4// Author: Julian Smart
5// Modified by:
6// Created: 04/01/98
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows license
10/////////////////////////////////////////////////////////////////////////////
11
12#ifdef __GNUG__
13#pragma implementation
14#endif
15
16// For compilers that support precompilation, includes "wx/wx.h".
17#include "wx/wxprec.h"
18
19#ifdef __BORLANDC__
20#pragma hdrstop
21#endif
22
23#ifndef WX_PRECOMP
24#include "wx/wx.h"
25#endif
26
27#ifndef __WXMSW__
28#error Sorry, this sample is only appropriate under Windows.
29#endif
30
31#include <ctype.h>
32#include "nativdlg.h"
33#include "resource.h"
34
35IMPLEMENT_APP(MyApp)
36
37// Testing of ressources
38MyApp::MyApp()
39{
40}
41
42bool MyApp::OnInit(void)
43{
44 // Create the main frame window
45 MyFrame *frame = new MyFrame(NULL, wxID_ANY, _T("wxWidgets Native Dialog Sample"), wxPoint(0, 0), wxSize(300, 250));
46
47#if wxUSE_STATUSBAR
48 // Give it a status line
49 frame->CreateStatusBar(2);
50#endif // wxUSE_STATUSBAR
51
52 // Make a menubar
53 wxMenu *file_menu = new wxMenu;
54
55 file_menu->Append(RESOURCE_TEST1, _T("&Dialog box test"), _T("Test dialog box resource"));
56 file_menu->Append(RESOURCE_QUIT, _T("E&xit"), _T("Quit program"));
57
58 wxMenuBar *menu_bar = new wxMenuBar;
59
60 menu_bar->Append(file_menu, _T("&File"));
61
62 // Associate the menu bar with the frame
63 frame->SetMenuBar(menu_bar);
64
65 // Make a panel
66 frame->panel = new wxWindow(frame, wxID_ANY, wxPoint(0, 0), wxSize(400, 400), 0, _T("MyMainFrame"));
67 frame->Show(true);
68
69 // Return the main frame window
70 SetTopWindow(frame);
71
72 return true;
73}
74
75BEGIN_EVENT_TABLE(MyFrame, wxFrame)
76 EVT_MENU(RESOURCE_QUIT, MyFrame::OnQuit)
77 EVT_MENU(RESOURCE_TEST1, MyFrame::OnTest1)
78END_EVENT_TABLE()
79
80// Define my frame constructor
81MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size):
82 wxFrame(parent, id, title, pos, size)
83{
84 panel = NULL;
85}
86
87void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
88{
89 Close(true);
90}
91
92void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
93{
94#if ( defined(__WXOS2__) || defined(__WXMSW__) ) && !defined(__WXUNIVERSAL__)
95 MyDialog dialog;
96 if (dialog.LoadNativeDialog(this, _T("dialog1")))
97 {
98 dialog.ShowModal();
99 }
100#else
101 wxMessageBox(_T("No native dialog support"),_T("Platform limitation"));
102#endif
103}
104
105BEGIN_EVENT_TABLE(MyDialog, wxDialog)
106 EVT_BUTTON(wxID_OK, MyDialog::OnOk)
107 EVT_BUTTON(wxID_CANCEL, MyDialog::OnCancel)
108END_EVENT_TABLE()
109
110
111void MyDialog::OnOk(wxCommandEvent& WXUNUSED(event))
112{
113 EndModal(wxID_OK);
114}
115
116void MyDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
117{
118 EndModal(wxID_CANCEL);
119}
120
121