« wxGladeで変更しまくり可? | メイン | FBX SDKを追加してみる »

2005年03月25日

Teaspire 開発日誌:: イベントへ応答

    

wxWidgetsを使いメニューを追加して、イベントハンドラのテーブルを作り、メニューのフォイル 開くからファイルオープンダイアログを表示し、選択されたファイルのパスを取得してみた。

まずは次のようにしてイベントハンドラのテーブルを定義する。

#define MENU_LINK(name) EVT_MENU(FBXMenu_##name, MainFrame::On##name)

BEGIN_EVENT_TABLE(MainFrame, wxFrame)
  MENU_LINK(FileOpen)
END_EVENT_TABLE()

その際、忘れずにイベントを追加するクラスに DECLARE_EVENT_TABLE() を追加。
たぶん、Dispatchメソッドみたいなものなんだろう。
で、上のイベントテーブルはその実体だと思われる。
まあ、中身はどうだっていいんだけど。

ファイルオープンダイアログ部分は次の通り。

wxFileDialog *fileDialog = new wxFileDialog(this,wxT("ファイルを選択してください"),wxT(""),wxT(""),wxT("FBX files (*.fbx)|*.fbx"),wxOPEN);
if( fileDialog->ShowModal() == wxID_OK )
{
  wxString selectedFilePath( fileDialog->GetPath() );
  // ここでいい感じにファイルを開く
}
delete fileDialog;

いたって普通。
この普通に使えるって言うのはいいな。
ファイルオープンダイアログ程度であればHPのマニュアルを見ながらさくっと作れた。
wxWidgets いい感じだなぁ。
wxGlade と VCを立ち上げて、GUI編集をwxGladeでやって、コードをVCで編集すればC++Builderに近い使い勝手が実現するかも。
wxWidgets 用のカスタム ウィサードを作っておけば、プロジェクトの作成もお手軽になる。
まあ、もう少し触ってみないことにはわからないだろうけど、自分の中では期待大。



投稿者 Takenori : 2005年03月25日 00:27




comments powered by Disqus
Total : Today : Yesterday : なかのひと