Ticket #15218: fp.cpp

File fp.cpp, 1.2 KB (added by lukeg, 7 years ago)

wxfilepickerctrl sample

Line 
1#include <wx/wx.h>
2#include <wx/intl.h>
3#include <wx/filepicker.h>
4
5#include <memory>
6
7enum {
8        ID_NONE = 6000,
9        ID_BUTTON_CHECK
10};
11
12class MainWindow : public wxFrame
13{
14        wxDECLARE_EVENT_TABLE();
15
16public:
17        MainWindow()
18                : wxFrame(NULL, wxID_ANY, "fp", wxDefaultPosition, wxSize(400, 320))
19        {
20                wxPanel *mainPanel = new wxPanel(this);
21                wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);
22
23                m_filePicker = new wxFilePickerCtrl(mainPanel, wxID_ANY, wxGetHomeDir());               
24                wxButton *check = new wxButton(mainPanel, ID_BUTTON_CHECK, wxT("Check"));
25               
26                mainSizer->Add(m_filePicker, 0, wxEXPAND|wxALL, 5);
27                mainSizer->Add(check, 0, wxEXPAND|wxALL, 5);
28               
29                mainPanel->SetSizerAndFit(mainSizer);
30        }
31
32        void OnButton(wxCommandEvent &event)
33        {
34                const wxString path = m_filePicker->GetPath();
35               
36                wxLogMessage(path);
37        }
38
39private:
40        wxFilePickerCtrl *m_filePicker;
41};
42
43wxBEGIN_EVENT_TABLE(MainWindow, wxFrame)
44        EVT_BUTTON(ID_BUTTON_CHECK, MainWindow::OnButton)
45wxEND_EVENT_TABLE()
46
47class App : public wxApp
48{
49public:
50        bool OnInit()
51        {
52                wxLocale locale(wxLANGUAGE_DEFAULT);
53
54                MainWindow *window = new MainWindow;
55                window->Show();
56                window->Center();
57
58                return true;
59        }
60};
61
62wxIMPLEMENT_APP(App);