Wide Studio Programmer's Guide

Wide Studio Home
Up to


リスト



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

リストに項目表示データを追加するには、 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.00

For Use with Wide Studio Release 3.00, Summper 2002


Wide Stuido Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: June 10, 2002