⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multidialog.cpp

📁 Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Mac OS X、Microsoft Windows、GNU/Linux和其它作業系統
💻 CPP
字号:
/**********************************************************************  Audacity: A Digital Audio Editor  MultiDialog.cpp  Monty**********************************************************************/#include "MultiDialog.h"#include <wx/button.h>#include <wx/dialog.h>#include <wx/intl.h>#include <wx/icon.h>#include <wx/sizer.h>#include <wx/stattext.h>#include <wx/statbmp.h>#include <wx/artprov.h>#include <wx/radiobox.h>class MultiDialog : public wxDialog{public:   // constructors and destructors   MultiDialog(wxString prompt,               wxString title,               const wxChar **buttons);   private:   void OnOK( wxCommandEvent &event );   wxRadioBox *mBox;private:   DECLARE_EVENT_TABLE()};BEGIN_EVENT_TABLE(MultiDialog, wxDialog)   EVT_BUTTON( wxID_OK, MultiDialog::OnOK )END_EVENT_TABLE()   MultiDialog::MultiDialog(wxString prompt,                         wxString title,                         const wxChar **buttons):   wxDialog(NULL, (wxWindowID)-1, (wxString)_("title")){   wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL);   wxBoxSizer *vSizer = new wxBoxSizer(wxVERTICAL);   wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL );   wxBitmap bitmap = wxArtProvider::GetIcon(wxART_WARNING,                                            wxART_MESSAGE_BOX);   wxStaticBitmap *icon = new wxStaticBitmap(this, -1, bitmap);   icon_text->Add( icon, 0, wxCENTER );   wxStaticText *statText = new wxStaticText(this, -1, prompt);   icon_text->Add(statText, 1, wxCENTER|wxLEFT,15 );   vSizer->Add(icon_text, 0, wxALIGN_LEFT|wxALL, 5);      int count=0;   while(buttons[count])count++;   wxString *prompts= new wxString[count];   count=0;   while(buttons[count]){      prompts[count]=buttons[count];      count++;   }   mBox = new wxRadioBox(this,-1,                         wxT(" Please select an action "),                         wxDefaultPosition, wxDefaultSize,                         count, prompts,                         1, wxRA_SPECIFY_COLS);   mBox->SetSelection(0);   wxButton *ok = new wxButton(this, wxID_OK, wxT("OK"));      vSizer->Add(mBox, 1, wxGROW|wxALIGN_CENTER|wxALL, 5);   vSizer->Add(ok, 0, wxALIGN_CENTER|wxALL, 5);   mainSizer->Add(vSizer, 0, wxALL, 5);   SetAutoLayout(true);   SetSizer(mainSizer);   mainSizer->Fit(this);   mainSizer->SetSizeHints(this);   delete[] prompts;}void MultiDialog::OnOK(wxCommandEvent &event){   EndModal(mBox->GetSelection());}int ShowMultiDialog(wxString prompt,                    wxString title,                    const wxChar **buttons){   MultiDialog dlog(prompt,title,buttons);   dlog.CentreOnParent();   return dlog.ShowModal();}// Indentation settings for Vim and Emacs and unique identifier for Arch, a// version control system. Please do not modify past this point.//// Local Variables:// c-basic-offset: 3// indent-tabs-mode: nil// End://// vim: et sts=3 sw=3// arch-tag: b84d77e0-4375-43f0-868e-3130e18c14c8

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -