wxWidgetsのGUIを作るためのデザイナー。いろいろな言語に対応しているが私はC++用コードを出力するために使用してみる。
wxFormBuilderでデザインした後はGenerate CodeでC++のソースコードに変換できるので、.hと.cppを読み込めば簡単に組み込める。
https://github.com/wxFormBuilder/wxFormBuilder/releases
Githubにビルド済みライブラリページへのリンクが張ってあるのでダウンロードすれば起動できる。
1.FormsからFrameなどを追加
2.LayoutからwxBoxSizerなどを追加
3.CommonからwxButtonなどを追加
4.File → Save から.fbp形式で保存
5.File → Generate Code
Generate Codeをすると、fbp と同じ場所に .h/.cpp が作成される。
noname.h / noname.cpp をプロジェクトに追加し、noname.h をincludeする。この中にMyFrame1等の名前でフレーム類が定義してあるので、OnInitの中でそのインスタンスを作成する。
#ifndef WX_PRECOMP #include <wx/wx.h> #endif #include <wx/gdicmn.h> // wxPointに必要 #include <wx/frame.h> // wxFrameに必要 ///////////////////////////////////// ///////////////////////////////////// /////////////////////////////////////
// wxFormBuilder で出力したファイル。内部で MyFrame1 が定義されている #include "noname.h" ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// // wxAppはここから開始。自分で書く class MyApp : public wxApp { public: virtual bool OnInit() { MyFrame1* frame = new MyFrame1(0,-1,"Hello World", wxPoint(50, 50), wxSize(450, 340)); frame->Show(true); return true; } }; ///////////////////////////////////// ///////////////////////////////////// ///////////////////////////////////// // エントリポイントも自分で定義。WinMainをマクロで定義 wxIMPLEMENT_APP(MyApp);