参考に載せておきます。
ソース:
-module(splittertest_3).
-include_lib("wx.hrl").
-export([start/0]).
start()->
Wx = wx:new(),
Frame = wx:batch(fun() -> create_window(Wx) end),
wxWindow:show(Frame),
loop(Frame),
wx:destroy(),
ok.
create_window(Wx)->
%% Create Frame
Frame = wxFrame:new(Wx,
-1,
"SplitterWindow Example",
%%[{size,{300,200}}]),
[{size,{-1,-1}}]),
%% Create Panel
%%Panel1 = wxPanel:new(Frame),
Panel = wxPanel:new(Frame, []),
%% Setup sizers
MainSizer = wxBoxSizer:new(?wxVERTICAL),
Sizer = wxStaticBoxSizer:new(?wxVERTICAL, Panel,
[{label, "wxSplitterWindow"}]),
Splitter = wxSplitterWindow:new(Panel, []),
Win1 = wxTextCtrl:new(Splitter, 1, [{value, "Splitted Window 1"},
{style, ?wxDEFAULT bor ?wxTE_MULTILINE}]),
Win2 = wxTextCtrl:new(Splitter, 1, [{value, "Splitted Window 1"},
{style, ?wxDEFAULT bor ?wxTE_MULTILINE}]),
wxSplitterWindow:splitVertically(Splitter, Win1, Win2),
wxSplitterWindow:setSashGravity(Splitter, 0.5),
%% Set pane-size =/= 0 to not unsplit on doubleclick
%% on the splitter
wxSplitterWindow:setMinimumPaneSize(Splitter,50),
%% Add to sizers
wxSizer:add(Sizer, Splitter, [{flag, ?wxEXPAND},
{proportion, 1}]),
wxSizer:add(MainSizer, Sizer, [{flag, ?wxEXPAND}, {proportion, 1}]),
wxPanel:setSizer(Panel, MainSizer),
%% Set Connect Close
wxFrame:connect(Frame, close_window),
Frame.
loop(Frame) ->
receive
% Window Close Event
#wx{event=#wxClose{}} ->
io:format("~p Closing window ~n",[self()]),
wxWindow:destroy(Frame),
ok
end.
wx.hrlはErlangのインストールディレクトリを検索してください。
それを本ソースと同一ディレクトリに配置してください。
サンプル作るの疲れますね。
以上
0 件のコメント:
コメントを投稿