2011年5月8日日曜日

wxErlang wxStaticBoxSizer 表示させる

wxStaticBoxSizerがよくわからない。
Sizerってのがよくわからない。
わからないなりに表示はさせた。
以下ソース

-module(irc).
-export([start/0]).
-compile(export_all).
-include_lib("wx.hrl").

start() ->
    Wx = wx:new(),
    Frame = wx:batch(fun() -> create_window(Wx) end),
    wxWindow:show(Frame),
    loop(Frame),
    wx:destroy(),
    ok.

create_window(Wx)->
    Frame = wxFrame:new(Wx,
-1,
"IRC On wxErlang",
[{size,{300,200}}]),
   
    Panel = wxPanel:new(Frame),
    Sz = wxStaticBoxSizer:new(?wxVERTICAL, Panel, [{label, "BoxLabel"}]),
    wxPanel:setSizer(Panel,Sz),
   
    wxFrame:createStatusBar(Frame,[]),
    wxFrame:setStatusText(Frame,"Hello World"),
   
    wxFrame:connect(Frame, close_window),
   
    Frame.

loop(Frame) ->
    receive
#wx{event=#wxClose{}} ->
   io:format("~p Closing window ~n",[self()]),
   ok = wxFrame:setStatusText(Frame, "Closing...",[]),
   wxWindow:destroy(Frame),
   ok;
Msg ->
   io:format("Got ~p ~n",[Msg]),
   loop(Frame)
    end.

wx.hrlはErlangをインストールしたディレクトリで検索をかけるとある。
それを本実行モジュールと同一ディレクトリに置く。