Code::BlocksでwxSlider, wxStaticText, wxColour

津路です。
前回の続きです。
 今回も、wxStaticTextのフォントサイズを変える努力をしてみました。
 Code::Blocksから離れて、以下のシンプルなソースコードを作ってみました。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #include <wx/wx.h> #include <wx/slider.h> #include <iostream> using namespace std; const int ID_SLIDER= 1; const int ID_STATIC= 2; const int ID_PANEL1 = 3; class MyFrame : public wxFrame { public:  MyFrame();  wxPanel* Panel1;  wxSlider* Slider1;  wxStaticText* st1;  wxBoxSizer* BoxSizer1;  void OnScroll(wxScrollEvent&);  int pos; }; class MyApp : public wxApp { public:   virtual bool OnInit(); }; IMPLEMENT_APP(MyApp) bool MyApp::OnInit() {   MyFrame* frame = new MyFrame();   frame->Show(true);   return true; } MyFrame::MyFrame()     : wxFrame(NULL,-1,"slider test",wxDefaultPosition,wxSize(400,400)) {   BoxSizer1 = new wxBoxSizer(wxVERTICAL); //Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));    Slider1 = new wxSlider(this, ID_SLIDER, 0, 0, 100, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_SLIDER1"));     Slider1->SetTickFreq(10);     Slider1->SetPageSize(10);     Slider1->SetLineSize(10);     Slider1->SetTick(10);     Slider1->SetSelection(0, 100); //  slider = new wxSlider(this,ID_SLIDER,0,0,100,wxDefaultPosition,wxDefaultSize);   Connect(ID_SLIDER,wxEVT_COMMAND_SLIDER_UPDATED,wxScrollEventHandler(MyFrame::OnScroll));   st1 = new wxStaticText(this,ID_STATIC,_("Colour")); //wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); //font.SetPointSize(24); wxFont* font = new wxFont(24,wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Tahoma"));   st1->SetFont(*font);   BoxSizer1->Add(Slider1,1, wxALL|wxEXPAND|wxFIXED_MINSIZE|wxALIGN_LEFT, 5);   BoxSizer1->Add(st1,1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);   SetSizer(BoxSizer1);   BoxSizer1->Fit(this);   BoxSizer1->SetSizeHints(this); } void MyFrame::OnScroll(wxScrollEvent& ev) {   pos = Slider1->GetValue();   wxFont Font = st1->GetFont();   int size = Font.GetPointSize();     Font.SetPointSize(size+2); bool b = st1->SetFont(Font);   Font = st1->GetFont();   size = Font.GetPointSize();   cout << size << endl; Layout(); GetSizer()->SetSizeHints(this); } | 
これでも変化はありませんでした。
 フォントをデフォルトにしてみたり、独自のフォントにしてみたり。
 あるいは、Sizer内に配置してみたり。
 結局、遊びに終わりましたが、少しは勉強できました。
 Layout()や、GetSizer()->SetSizeHints(this) など、内容がわかりました。
 次は、widgetの色変更をやってみます。

