サンプルできたので、貼っておく。無いよりまし。
今回は進捗バーがすぐに消えてしまうため、キャプチャはない。
じゃあ、キャプチャが取れるようにすればいいのだが、眠いのである。
(「眠い」と書くと、ブログ内の広告が「眠い」関連になる。)
ソース:
-module(progressdialogTest).
-include_lib("wx.hrl").
-export([start/0]).
start()->
Wx = wx:new(),
{Frame,PD} = wx:batch(fun() -> create_window(Wx) end),
wxWindow:show(Frame),
Count = 1,
updater(Count,PD),
loop(Frame),
wx:destroy(),
ok.
create_window(Wx)->
Frame = wxDialog:new(Wx,
-1,
"Progress Test",
[{size,{300,200}}]),
Option = [{maximum,100},{parent,Frame}],
%%Option = [{maximum,100}],
%% Create Dialog
PDialog = wxProgressDialog:new("ProgressDialog Example",
"Progress Test...",
Option),
%% insert sleep
timer:sleep(300),
%% Set Connect Close
wxFrame:connect(Frame, close_window),
{Frame,PDialog}.
loop(Frame) ->
receive
% Window Close Event
#wx{event=#wxClose{}} ->
io:format("~p Closing window ~n",[self()]),
wxWindow:destroy(Frame),
ok
end.
updater(Count,PD) ->
if Count =< 100 ->
io:format("Count:~p~n",[Count]),
wxProgressDialog:update(PD,Count),
updater(Count + 1,PD);
true ->
ok
end.
wx.hrlはErlangインストールディレクトリを漁ってください。
参考:
nori's tech days: ProgressDialog(その2) : http://blog.tonic-water.com/2008/04/progressdialog_30.html