| WideStudio Programming Guide | WideStudio Index Table of contents

> ## 列表

> ### 通过函数控制列表的数据显示

> 要在列表中追加项目显示数据时，使用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){
>       //Delete all the items of the list.
>       newlist_001->delAll();
>       //Add an item to the last of the list.
>       newlist_001->addItem("item1");
>       newlist_001->addItem("item2");
>       newlist_001->addItem("item3");
>       newlist_001->addItem("item4");
>       //Add an item to the specified position of the list.
>       newlist_001->addItem("item0",0);//0 :top
>       newlist_001->addItem("item5",-1);//-1 :last

>       //Update the modified list.
>       newlist_001->updateList();
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> ### 通过属性设置列表数据

> 项目数比较少的情况下，能从属性进行总的设定项目。 这个情况时，首先在WS_DATA_SOURCE_NONE 中指定SNdataSource 属性。然后，在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){
>       //Delete all the items of the list.
>       newlist_001->delAll();
>       //Set the items of the list by the property
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_NONE);
>       newlist_001->setProperty(WSNdata,"item0\nitem1\nitem2\nitem3\nitem4");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> 如果如下面一样，图标文件同时也指定的话，每项目的图标也可指定。 如果设定属性SNuseIcon为True ，指定图标时用分号来指定。 图标文件省略的话，将使用属性 WSNiconPixmap 中所指定的图标。 格式:

>     图标文件，项目字符串\n图标文件，项目字符串\n....

>     void btnep1(WSCbase* object){
>       //Delete all the list of the list
>       newlist_001->delAll();
>       //Set the items of the list by the property
>       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 属性中指定文件名。 通过builder的属性设定，和程序的设定实现动作。 下列是在程序中的设定的例子。

>     #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){
>       //Delete all the items of the list
>       newlist_001->delAll();
>       //Set the items from file directly
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_FILE);
>       newlist_001->setProperty(WSNdataSourceName,"data.txt");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

>     //data.txt contains...
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item1
>     item2
>     item3
>     item4
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item5
>     item6
>     item7
>     item8

> ### 通过Instance显示列表的数据

> 通过指定Instance名，从该Instance的数据源对象属性对项目进行总括设定。 这个情况时，首先，将WSNdataSource 属性设定为WS_DATA_SOURCE_INSTANCE。 然后，在WSNdataSourceName 属性中指定Instance名。 下列的例子中，指定了WSCtextField 的Instance（newtext_000）。 数据的形式，与文件指定的情况一样。被输入到newtext_000中的字符串在一览里将被显示。 通过builder的属性设定，程序的设定可以动作。下列是在程序设定的例子。

>     #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){
>       //Delete all the items of the list
>       newlist_001->delAll();
>       //Set the items from the other instances
>       newlist_001->setProperty(WSNdataSource,WS_DATA_SOURCE_INSTANCE);
>       newlist_001->setProperty(WSNdataSourceName,"newtext_000");
>     }
>     static WSCfunctionRegister  op("btnep1",(void*)btnep1);

> 如下面的图，从上部输入的字符串，将被显示于如下所示的列表中。

> [通过Instance的项目设定]

Document Release 3.70 for WideStudio ver 3.70, May 2004

WideStudio documents index | Table of contents

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