| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: samples/nativdlg/nativdlg.cpp
- // Purpose: Native Windows dialog sample
- // Author: Julian Smart
- // Modified by:
- // Created: 04/01/98
- // Copyright: (c) Julian Smart
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- // 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
- #ifndef __WXMSW__
- #error Sorry, this sample is only appropriate under Windows.
- #endif
- #ifndef wxHAS_IMAGES_IN_RESOURCES
- #include "../sample.xpm"
- #endif
- #include <ctype.h>
- #include "nativdlg.h"
- #include "resource.h"
- IMPLEMENT_APP(MyApp)
- bool MyApp::OnInit(void)
- {
- if ( !wxApp::OnInit() )
- return false;
- // Create the main frame window
- MyFrame *frame = new MyFrame(NULL, wxID_ANY, wxT("wxWidgets Native Dialog Sample"), wxPoint(0, 0), wxSize(300, 250));
- #if wxUSE_STATUSBAR
- // Give it a status line
- frame->CreateStatusBar(2);
- #endif // wxUSE_STATUSBAR
- // Make a menubar
- wxMenu *file_menu = new wxMenu;
- file_menu->Append(RESOURCE_TEST1, wxT("&Dialog box test"), wxT("Test dialog box resource"));
- file_menu->Append(RESOURCE_QUIT, wxT("E&xit"), wxT("Quit program"));
- wxMenuBar *menu_bar = new wxMenuBar;
- menu_bar->Append(file_menu, wxT("&File"));
- // Associate the menu bar with the frame
- frame->SetMenuBar(menu_bar);
- // Make a panel
- frame->panel = new wxWindow(frame, wxID_ANY, wxPoint(0, 0), wxSize(400, 400), 0, wxT("MyMainFrame"));
- frame->Show(true);
- return true;
- }
- wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
- EVT_MENU(RESOURCE_QUIT, MyFrame::OnQuit)
- EVT_MENU(RESOURCE_TEST1, MyFrame::OnTest1)
- wxEND_EVENT_TABLE()
- // Define my frame constructor
- MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size):
- wxFrame(parent, id, title, pos, size)
- {
- SetIcon(wxICON(sample));
- panel = NULL;
- }
- void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
- {
- Close(true);
- }
- void MyFrame::OnTest1(wxCommandEvent& WXUNUSED(event))
- {
- #if ( defined(__WXPM__) || defined(__WXMSW__) ) && !defined(__WXUNIVERSAL__)
- MyDialog dialog;
- if (dialog.LoadNativeDialog(this, wxT("dialog1")))
- {
- dialog.ShowModal();
- }
- #else
- wxMessageBox(wxT("No native dialog support"),wxT("Platform limitation"));
- #endif
- }
- wxBEGIN_EVENT_TABLE(MyDialog, wxDialog)
- EVT_BUTTON(wxID_OK, MyDialog::OnOk)
- EVT_BUTTON(wxID_CANCEL, MyDialog::OnCancel)
- wxEND_EVENT_TABLE()
- void MyDialog::OnOk(wxCommandEvent& WXUNUSED(event))
- {
- EndModal(wxID_OK);
- }
- void MyDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
- {
- EndModal(wxID_CANCEL);
- }
|