2011年5月29日日曜日

wxErlang wxDialogのみ表示させる

なかなか分かってきた。wxErlangが。
wxDialogだけ表示させるソースを載っける。

ソース:

-module(onlydialog).
-export([start/0]).
-include_lib("wx.hrl").


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


create_window(Wx)->
    Dialog = wxDialog:new(Wx,
-1,
"Dialog Example",
[{size,{300,200}}]),
    % connect
    wxDialog:connect(Dialog, close_window),


    Dialog.


loop(Dialog) ->
    receive
% Window Close Event
#wx{event=#wxClose{}} ->
   io:format("~p Closing window ~n",[self()]),
   wxWindow:destroy(Dialog),
   ok
    end.

wx:new()はたぶん必要。
すべてのwxクラス(wxDialogとか)のベースになっているようで。
それにしても、wxErlangのサンプルは大きすぎてわからん。