2011年7月17日日曜日

wxErlang wxListCtrl Sample2 サンプル2 1x2に文字列をセットする。

前回の記事で、wxListCtrlの中に、縦にItemおよび文字列をセットするものはできた。
しかし、ほしいものは横にセットするものだった。
それができたので、貼っておく。

画像:

ソース:

-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 bor ?wxLC_HRULES}]),
    %ListCtrl = wxListCtrl:new(Frame,[{style,?wxLC_LIST}]),

    % Set Column Name
    Option = [{format,?wxLIST_FORMAT_LEFT}],
    Col0 = wxListCtrl:insertColumn(ListCtrl,0,"Column0",Option),
    Col1 = 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),
    Index = wxListCtrl:insertItem(ListCtrl,Col0,"Item1s"),
    %wxListCtrl:insertItem(ListCtrl,Item2),
    %wxListCtrl:insertItem(ListCtrl,Col1,"Item2s"),
    wxListCtrl:setItem(ListCtrl,Index,Col1,"Item2s"),
 
    %% 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のインストールディレクトリにある。検索してください。
それを本ソースと同一ディレクトリに配置してください。

参考:
How to add value to second column using wxListCtrl in wxWidgets (C++ code)?? - Stack Overflow : http://stackoverflow.com/questions/2962057/how-to-add-value-to-second-column-using-wxlistctrl-in-wxwidgets-c-code

0 件のコメント:

コメントを投稿