| WideStudio Programming Guide | WideStudio Index 目次

> ## リスト

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

> リストに項目表示データを追加するには、addItem メソッドを用います。 addItem により、追加する文字列、追加する位置を指定します。追加位置を省 略すると、リストの末尾に追加されます。リストに項目を追加するサンプルで す。

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSClist.h>
>     extern WSClist* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストの末尾に項目を追加。
>       newlist_001->addItem("item1");
>       newlist_001->addItem("item2");
>       newlist_001->addItem("item3");
>       newlist_001->addItem("item4");
>       //リストに位置指定で項目を追加。
>       newlist_001->addItem("item0",0);//0は先頭
>       newlist_001->addItem("item5",-1);//-1は末尾

>       //リストを変更した場合、最後に一度、更新。
>       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 <WSClist.h>
>     extern WSClist* newlist_001;
>     void btnep1(WSCbase* object){
>       //リストの項目を全て削除。
>       newlist_001->delAll();
>       //リストにプロパティ経由でデータを設定
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_NONE);
>       newlist_001->setProperty(WSNdata,"item0\nitem1\nitem2\nitem3\nitem4");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

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

>     アイコンファイル,項目文字列\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\nitem2\nitem3");
>     }
>     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 <WSClist.h>
>     extern WSClist* 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
>     item2
>     item3
>     item4
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item5
>     item6
>     item7
>     item8

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

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

>     #include <WScom.h>
>     #include <WSCfunctionList.h>
>     #include <WSCbase.h>
>     //----------------------------------------------------------
>     //Function for the event procedure
>     //----------------------------------------------------------
>     #include <WSClist.h>
>     extern WSClist* 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