詳細リストメソッドによるリストのデータ表示制御詳細リスト(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->setProeprty(WSNdata,
"item1,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,aaa,bbb,ccc");
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,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,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 2.0 For Use with Wide Studio Release 2.0, Spring 2002
|