| WideStudio Programming Guide | WideStudio Index 目次

> ## 詳細リスト

> ### メソッドによるリストのデータ表示制御

> 詳細リスト(WSCverbList)または、WSClist のリスト種別を詳細リストに設定 したものに項目表示データを追加するには、リストの場合と全く同じように addItem メソッドを用います。addItem により、追加する文字列、追加する位 置を指定します。追加位置を省略すると、リストの末尾に追加されます。リス トの場合と異なる部分は、各項目のカンマで区切られた項目を設定することで す。

> ［詳細リスト表示の例］
> 図の様に横4セクションのリストとする場合、プロパティ WSNbarValue に、 50,100,150 を設定します。このプロパティは、タイトルのセパレータの位置 を指定します。このプロパティによって、セクションの数が決まりますので注 意してください。プロパティ WSNtitleString には、sec1,sec2,sec3,sec4 を 設定します。
> 詳細リストに項目を追加するサンプルです。

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSCverbList.h>
>     extern WSCverbList* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストの末尾に項目を追加。
>       newlist_001->addItem("item1,aaa,bbb,ccc");
>       newlist_001->addItem("item2,aaa,bbb,ccc");
>       newlist_001->addItem("item3,aaa,bbb,ccc");
>       newlist_001->addItem("item4,aaa,bbb,ccc");

>       //リストを変更した場合、最後に一度、更新。
>       newlist_001->updateList();
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> ### プロパティからの詳細リストデータの設定

> 比較的項目数が少ない場合、プロパティから、一括して項目を設定することが できます。この場合、まず、WSNdataSource プロパティを WS_DATA_SOURCE_NONE に指定します。次に、WSNdata プロパティに改行コー ドで区切ったデータを設定します。

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSCverbList.h>
>     extern WSCverbList* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストにプロパティ経由でデータを設定
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_NONE);
>       newlist_001->setProperty(WSNdata,
>          "item1,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,aaa,bbb,ccc");

>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> また次のように、アイコンファイルも同時に指定すると、項目毎にアイコンも 指定することができます。プロパティ WSNuseIcon を True に設定して、アイ コンを指定する場合は、カンマで区切って指定します。アイコンファイルは省 略すると、プロパティ WSNiconPixmap に指定されたものが使用されます。
> 書式：

>     アイコンファイル,文字列,文字列,文字列,...\nアイコンファイル,文字列,文字列,...\n....

>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストにプロパティ経由でデータを設定
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_NONE);
>       newlist_001->setProperty(WSNdata,
>          "$(WSDIR)/sys/pixmaps/bi16.xpm,item1,aaa,bbb,ccc\n,item2,aaa,bbb,ccc\n,item3,aaa,bbb,ccc");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> ### ファイルからの詳細リストデータの設定

> ファイル名を指定して、ファイルから一括して項目を設定することができます。 この場合、まず、WSNdataSource プロパティを WS_DATA_SOURCE_FILE に指 定します。次に、WSNdataSourceName プロパティにファイル名を指定します。 ビルダーからのプロパティ設定、プログラムからの設定で動作します。下記は プログラムでの設定の例です。

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSCverbList.h>
>     extern WSCverbList* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストにファイル経由でデータを設定
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_FILE);
>       newlist_001->setProperty(WSNdataSourceName,"data.txt");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

>     //data.txt の内容
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item1,aaa,bbb,ccc
>     item2,aaa,bbb,ccc
>     item3,aaa,bbb,ccc
>     item4,aaa,bbb,ccc
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item5,aaa,bbb,ccc
>     item6,aaa,bbb,ccc
>     item7,aaa,bbb,ccc
>     item8,aaa,bbb,ccc

> ### インスタンスからの詳細リストのデータ表示

> インスタンス名を指定して、インスタンスから一括して項目を設定することが できます。この場合、まず、WSNdataSource プロパティを WS_DATA_SOURCE_INSTANCE に指定します。次に、WSNdataSourceName プロ パティにインスタンス名を指定します。下記の例では、WSCtextField のイン スタンス newtext_000 を指定しています。データの形式は、ファイル指定の 場合と変わりません。newtext_000 に入力されている文字列がリストに表示 されます。ビルダーからのプロパティ設定、プログラムからの設定で動作しま す。下記はプログラムでの設定の例です。この場合、入力フィールドのインス タンス newtext_000 に入力されている文字列が詳細リストの項目として表示 されます。

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSCverbList.h>
>     extern WSCverbList* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストにファイル経由でデータを設定
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_INSTANCE);
>       newlist_001->setProperty(WSNdataSourceName,"newtext_000");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

Document Release 3.70 for WideStudio ver 3.70, May 2004

WideStudio documents index | 目次

Copyright(C) WideStudio Development Team, 1999-2004 | Last modified: May 25, 2004