2011年7月16日土曜日

wxErlang wxListCtrl Sample サンプル

このサンプルが役に立つとは思えない。
wxErlangの使用例がないし、貼っておく。

動作画面:

ソース:

-module(listCtrlTest).
-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,
 "wxListCtrl and wxListItem Example",
 %%[{size,{300,200}}]),
 [{size,{-1,-1}}]),

    % Create wxListCtrl
    ListCtrl = wxListCtrl:new(Frame,[{style,?wxLC_REPORT}]),

    % Set Column Name
    Option = [{format,?wxLIST_FORMAT_LEFT}],
    wxListCtrl:insertColumn(ListCtrl,0,"Column0",Option),
    wxListCtrl:insertColumn(ListCtrl,1,"Column1",Option),

    % Create wxListItem
    Item1 = wxListItem:new(),
    wxListItem:setText(Item1,"Item1"),
    wxListItem:setColumn(Item1,0),

    % Create wxListItem
    Item2 = wxListItem:new(),
    wxListItem:setText(Item2,"Item2"),
    wxListItem:setColumn(Item2,0),

    % Insert Item to List
    wxListCtrl:insertItem(ListCtrl,Item1),
    %wxListCtrl:setItem(ListCtrl,Item1),
    wxListCtrl:insertItem(ListCtrl,Item2),
    %wxListCtrl:setItem(ListCtrl,Item2),  
 
    %% 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.

本当は、左から右へItemを並べたかったけど、どうもできないらしい。
Itemは一行に一個で、Column2に何か表示させたければ、SetItemとかするのだと思う。
今度やってみる。

参考:
wxListCtrlで作成した表の値を編集 - 理想のユーザ・インターフェイスを求めて : http://d.hatena.ne.jp/Megumi221/20100225/1267592869

0 件のコメント:

コメントを投稿