Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSClist

メソッド関数仕様



setLabelHeight 関数の説明

書式
void setLabelHeight(WSCushort* height)
機能
表示項目の縦幅を指定する関数です。 この関数を実行したときは、一度 updateList 関数を 呼び出して、リストの表示を更新する必要があります。
処理
引数
(in)WSCushort height 項目の縦幅
返値
なし。
注意
本関数の使用後は一度、updateList() 関数を呼び出して、リストの表示を更新してください。
サンプル
  newlist_000->setLabelHeight(25);
  newlist_000->updateList();



delAll 関数の説明

書式
void delAll()
機能
表示項目を全て削除する関数です。 この関数を実行した直後に updateList 関数を呼び出して、 リストの表示を更新する必要があります。
処理
引数
なし。
返値
なし。
注意
削除した後、項目の追加等が終ったら、updateList() 関数で 一度、表示を更新してください。
サンプル
  newlist_000->delAll();
  newlist_000->addItem("item1");
  newlist_000->addItem("item2");
     :
  newlist_000->updateList();



getLabel 関数の説明

書式
WSCbase* getLabel(long pos)
機能
実際に表示項目を表示している内部のオブジェクトを 取得する関数です。取得する項目の位置は、 項目数が n 個ある場合に 0 〜 n-1 で指定します。 また、-1 を指定すると N-1 を指定したものと みなされます。
処理
項目の表示を行っているオブジェクトを返します。
引数
(in)long pos 項目の位置(先頭=0 〜 N-1)
返値
項目を表示しているオブジェクト
注意
項目数が N個ある状態で、最後の項目を指定する場合、N-1 を 指定します。また、-1 を指定すると N-1 を指定したものと みなされます。
サンプル
  newlist_000->addItem("item1");
  WSCbase* label = newlist_000->getLabel(-1); //末尾の項目のラベルを取得
  label->setProperty(WSNforeColor,"#ff0000"); //文字列の表示色を赤に設定



getNum 関数の説明

書式
long getNum()
機能
表示項目の数を取得する関数です。
処理
引数
なし。
返値
表示項目数
注意
なし。
サンプル
  long i;
  long num = newlist_000->getNum();
  WSCstring item; 
  for(i=0; i<num; i++){
    item = newlist_000->getItem(i);
    printf("pos=%d item=%s\n",i,(char*)item);
  }



getItem 関数の説明

書式
WSCstring getItem(long pos)
機能
指定した位置の項目の文字列を取得する関数です。 項目位置は、先頭の項目が 0 で、項目数 -1 までの範囲を 指定します。返される文字列は必ず WSCstring で受け取り、 その後、char* 型にキャストして取り出します。
処理
引数
(in)long pos 項目の位置(先頭=0 〜 N-1)
返値
表示文字列
注意
返される文字列を直接 char* で受け取ってはいけません。 必ず、WSCstring クラスで受け取り、 それから char* を取り出してください。
サンプル
getNum()を参照してください。



addItem 関数の説明

書式
void addItem(char* item,long pos = -1)
機能
指定した位置に項目を挿入する関数です。 第一引数に挿入する項目の文字列を、 第二引数に挿入する位置を指定します。 位置を指定しない場合、リストの末尾に追加されます。 挿入した位置以降の項目は1つずつ後方にずれます。 この関数を実行したときは、一連の操作の最後に updateList 関数を呼び出して、 リストの表示を更新する必要があります。
処理
指定した位置(先頭=1〜 N-1、-1=末尾)に対して、 与えられた文字列を表示項目に加えます。
引数
(in)char* 表示文字列
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
なし。
注意
位置を指定しない場合、-1、すなわち、項目をリストの末尾に 追加するものとみなします。 なお、表示項目を変更した場合は、最後に一度、updateList() 関数を呼び出して、リストの表示を更新してください。
サンプル
  newlist_000->delAll();
  newlist_000->addItem("item0"); //末尾に追加
  newlist_000->addItem("item1"); //末尾に追加
  newlist_000->addItem("item2",0); //先頭に追加
  newlist_000->addItem("item3",1); //先頭の次に追加
  newlist_000->updateList();
結果:
  item2
  item3
  item0
  item1



replaceItem 関数の説明

書式
void replaceItem(char* item,long pos)
機能
指定した位置の項目を、第一引数で与えた文字列に 置き換える関数です。項目位置は先頭が 0 で、 末尾が項目数 -1 までの範囲を指定します。 項目位置に -1 を指定すると、末尾の項目を指定したものと みなされます。この関数を実行したときは、 一連の操作の最後に updateList 関数を呼び出して、 リストの表示を更新する必要があります。
処理
指定した位置(先頭=1〜 N-1、-1=末尾)を与えられた文字列で 置き換えます。
引数
(in)char* 表示文字列
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
なし。
注意
指定する位置は、先頭が0で、N個ある場合は最後は、N-1 を 指定します。また、-1 を指定すると N-1 を指定したものと みなされます。 なお、表示項目を変更した場合は、最後に一度、updateList() 関数を呼び出して、リストの表示を更新してください。
サンプル
  newlist_000->delAll();
  newlist_000->addItem("item1"); //末尾に追加
  newlist_000->addItem("item2"); //末尾に追加
  newlist_000->replaceItem("item0",-1); //末尾のものを置換
  newlist_000->updateList();
結果:
  item1
  item0



delPos 関数の説明

書式
void delPos(long pos);
機能
指定した位置の項目を削除する関数です。 項目位置は先頭が 0 で、項目数 -1 までの範囲を指定します。
処理
指定した位置(先頭=1〜 N-1、-1=末尾)の表示項目を 表示項目リストから削除します。
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
なし。
注意
指定する位置は、先頭が0で、N個ある場合は最後は、N-1 を 指定します。また、-1 を指定すると N-1 を指定したものと みなされ、範囲外を指定すると無視されます。
サンプル
  newlist_000->delAll(); //クリア
  newlist_000->addItem("item0"); //末尾に追加
  newlist_000->addItem("item1"); //末尾に追加
  newlist_000->addItem("item2"); //末尾に追加
  newlist_000->delPos(1);
  newlist_000->updateList();
結果
  item0
  item2



getSelectedPos 関数の説明

書式
long getSelectedPos();
機能
マウス操作によって選択状態になった項目の位置を 取得する関数です。 返される項目位置は先頭から順に0,1,2… になり、 最後の項目は項目数 -1 です。
処理
マウスにより選択状態になった項目の位置を取得します。
引数
なし。
返値
選択状態となっている表示項目の位置(先頭=0 〜 N-1)
注意
複数選択状態にある場合は、先頭に近いものが返されます。 次の選択状態にある表示項目を取得するには、 getSelectedNextPos() 関数を用います。
サンプル
  long pos = newlist_000->getSelectedPos();
  printf("selected item = %d\n",pos);



setSelectPos 関数の説明

書式
long setSelectPos(long pos);
機能
指定した項目位置を選択状態にする関数です。 項目位置は先頭が 0 で、項目数 -1 までの 範囲を指定します。
処理
指定した位置(先頭=1〜 N-1、-1=末尾)を選択状態にします。
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
範囲外を指定するとエラーとなります。
サンプル
  newlist_000->delAll();
  newlist_000->addItem("item0");
  newlist_000->addItem("item1");
  newlist_000->addItem("item2");
  newlist_000->setSelectedPos(1); // item1 を選択状態に設定



getSelectedItem 関数の説明

書式
WSCstring getSelectedItem();
機能
選択された項目の文字列を取得する関数です。 複数選択されている場合は、先頭に最も近いものが返されます。 次の選択項目を取得する場合は、getSelectedNextItem() を用いて下さい、また、 選択されたものをすべて取得したい場合は、、getSelectedLabels() 関数を使用してください。
処理
引数
なし。
返値
選択状態になっている項目の文字列を返します。
注意
返り値を直接 char* で受け取ってはいけません。
サンプル
  WSCstring item;
  item = newlist_000->setSelectedItem();
  printf("selected item = %s",(char*)item);



setTopPos 関数の説明

書式
void setTopPos(long pos);
機能
指定した位置の項目がリストの一番上に表示されるように スクロールする関数です。 項目位置は先頭が 0 で、項目数 -1 までの範囲を指定します。
処理
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
なし。
注意
サンプル
  newlist_000->setTopPos(0); // 1 行目を最上段に来るようスクロール
  newlist_000->setTopPos(10); / 11 行目を最上段に来るようスクロール



setBottomPos 関数の説明

書式
void setBottomPos(long pos);
機能
指定した位置の項目がリストの一番下に表示されるように スクロールする関数です。 項目位置は先頭が 0 で、項目数 -1 までの範囲を 指定します。
処理
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
どうしても指定した項目がリストの一番下にスクロールできない場合は、 スクロール可能な範囲でスクロールします。
注意
サンプル
  newlist_000->setBottomPos(100); //101 行目を最下段に来るようスクロール



updateList 関数の説明

書式
void updateList();
機能
表示項目に加えられた変更を表示に反映する関数です。。
処理
引数
なし。
返値
なし。
注意
なし。
サンプル
addItem() を参照してください。



setLabelClass 関数の説明

書式
void setLabelClass(char* class_name);
機能
表示項目に使用されるインスタンスのクラスを指定する関数です。 指定されたクラスで表示項目を表示します。 デフォルトで使用されるのは WSCvlabel クラスです。 リストクラスは、表示すべき文字列を WSNlabelString プロパティに 格納するので、指定するクラスは、WSNlabelString を プロパティに持つものでなければなりません。
処理
指定されたクラスで、表示項目を表示します。 デフォルトは、 WSCvklabel クラスです。WSCvklabelクラスは WSCvlabel から派生したもので、WSClist 上でのツリー表示等の 専用の機能が追加されています。
引数
(in)char* class_name クラス名称を指定
返値
なし。
注意
クラスを指定する場合、プロパティ WSNlabelString を 持ったものを指定してください。リストクラスは、 表示すべき文字列をWSNlabelString プロパティに格納します。 WSCvklabel以外のクラスを指定するとツリー表示が行えなくなります。
サンプル
  newlist_000->setLabelClass("WSCvklabel"); //クラス名を設定



getSelectItemChanged 関数の説明

書式
WSCbool getSelectItemChanged()
機能
項目の選択状態が変化したかどうかを取得する関数です。 マウス操作などによって項目の選択状態が変化した場合、 返り値が True となります。 状態の変化は、最後に setSelectItemChanged 関数を 実行した時点から管理されています。 このため、この関数の実行以前に、setSelectItemChanged 関数でフラグを False にしておく必要があります。
処理
マウス等により選択状態でない項目が選択状態になったりして、 項目の選択状態が変化した場合、返り値が True となります。
引数
なし。
返値
True = 変化あり、False = 変化なし。
注意
getSelectItemChanged() 関数を呼び出すに先だって、 setSelectItemChanged() 関数で、フラグを False にしておく 必要があります。setSelectItemChanged() でフラグを落した 時点から、選択状態に変化があった場合、 getSelectedItemChanged() の返り値が True となります。
サンプル
  WSCbool changed = newlist_000->getSelectItemChanged();
  if (changed == False){
    //選択状態に変化なし。
  }else{
    //選択状態に変化あり。
  }



setSelectItemChanged 関数の説明

書式
void setSelectItemChanged(WSCbool fl);
機能
選択状態フラグに値をセットします。 この関数は、リストの選択状態の変化をチェックする getSelectItemChanged() 関数の実行より前に、 この関数を呼び出して選択状態フラグを False に しておきます。また、強制的に選択状態が変更されたように 選択状態フラグを設定する場合は、引数に True を与えます。
処理
引数
(in)WSCbool fl True = 選択状態変更あり、False = なし
返値
なし。
注意
この関数は、状態フラグの値を設定するだけです。 getSelectItemChanged() 関数を呼び出すのに使用します。
サンプル
  newlist_000->setSelectItemChanged(True); //選択状態変更フラグをセットします。



getLabels 関数の説明

書式
WSClistData* getLabels();
機能
項目を表示しているオブジェクトのリストを取得する関数です。 リスト内の項目表示オブジェクト(デフォルトでは WSCvklabel)に 直接アクセスしたい場合に、この関数を使って取得することが できます。取得したオブジェクトは、WSCbase* へ キャストしてアクセスします。 また、この関数の実行で返されたリストを解放してはいけません。
処理
引数
なし。
返値
オブジェクトのリスト
注意
返されたリストを解放してはいけません。 getChildren() 関数の子リストと同じように、 リストの各要素を WSCbase* キャストしてオブジェクトに アクセスします。
サンプル
  WSClistData* labels = newlist_000->getLabels();
  long i;
  long num = labels->getNum();
  for(i=0; i<num; i++){
    WSCbase* label = (WSCbase*)labels->getData(i);
    //label に対して処理。
  }



getSelectedLabels 関数の説明

書式
void getSelectedLabels(WSClistData & list);
機能
選択状態にある項目表示オブジェクトを、引数として与えた リストに格納して返す関数です。 返されたリストの各要素へは WSCbase* 型へキャストして アクセスします。
処理
引数
(out)WSClistData & list オブジェクトを格納するリスト
返値
なし。
注意
返されたリストの各要素を WSCbase* キャストしてオブジェクトに アクセスします。
サンプル
  WSClistData selected_labels;
  newlist_000->getSelectedLabels(selected_labels);
  long i;
  long num = selected_labels.getNum();
  for(i=0; i<num; i++){
    WSCbase* label = (WSCbase*)selected_labels[i];
    //label に対して処理。
  }



setItemVisible 関数の説明

書式
long setItemVisible(long pos,WSCbool fl);
機能
指定された位置の項目の表示状態を指定する関数です。 項目位置は、先頭が 0 で、項目数 -1 までの範囲を 指定します。表示状態は、表示なら True、 非表示なら False を指定します。 項目を残したまま非表示にしたい場合などに使用します。
処理
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
(in)WSCbool fl True = 表示、False = 非表示
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
項目を削除せずに、非表示としたい場合等に使用します。
サンプル
  newlist_000->setItemVisible(0,False); //先頭の項目を不可視化。



setItemValue 関数の説明

書式
long setItemValue(long pos,long kind,long bal);
機能
指定された位置の項目の項目属性に値を指定する関数です。
処理
項目属性には、次の様なものが存在します。
WS_OPEN ツリー表示モード時の項目の開閉状態 (0=閉、1=開)
WS_ABSOLUTE_OPEN ツリー表示モード時の項目の開閉状態 (0=閉、1=開)
WS_INDENT_LEVEL ツリー表示モード時の項目の階層レベル(0=最上位,1,2,...)
WS_ICON アイコン用画像ファイルのファイル名(char*)

WS_ABSOLUTE_OPEN は、深い階層にある表示項目を開いた状態にした 場合、上位の階層を含めて開いた状態にします。
アイコンを指定する場合は、アイコン表示プロパティを設定 しなければなりません。
引数
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
(in)long kind 項目属性
(in)long val 設定したい属性値
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
  //ツリー表示の場合
  newlist_000->delAll();
  newlist_000->addItem("item1");
  newlist_000->addItem("item2");
  newlist_000->addItem("item3");
  newlist_000->addItem("item4");
  newlist_000->addItem("item5");
  newlist_000->setItemValue(0,WS_INDENT_LEVEL,0);
  newlist_000->setItemValue(1,WS_INDENT_LEVEL,1);
  newlist_000->setItemValue(2,WS_INDENT_LEVEL,2);
  newlist_000->setItemValue(3,WS_INDENT_LEVEL,1);
  newlist_000->setItemValue(4,WS_INDENT_LEVEL,2);
  newlist_000->setItemValue(0,WS_OPEN,1); 
  newlist_000->setItemValue(1,WS_OPEN,1); 
  newlist_000->setItemValue(2,WS_OPEN,1); 
  newlist_000->setItemValue(3,WS_OPEN,0); 
結果:
  ---item1
      +--item2
      |   +--item3
      +--item4
        ( +--item5 ) 不可視




getSortPos() 関数の説明

書式
long getSortPos();
機能
押されたソートボタンの番号を返します。
処理
詳細表示モードの時に、押されたソートボタン番号を 取得する関数です。ソートボタン番号は左端が 0 で、 (1 行の項目数 -1 )までの範囲が返されます。
引数
なし。
返値
ソートボタンの番号
注意
サンプル
  //詳細表示、タイトルバー領域のソートボタンの番号の取得
  long pos = newlist_000->getSortPos();



getTopPos() 関数の説明

書式
long getTopPos();
機能
現在最上段に表示されている項目番号を取得する関数です。
処理
現在表示中の最上段に位置する項目の番号を 0,1,2,... で返します。
引数
なし。
返値
最上段の項目の番号
注意
サンプル
  //現在の最上段の項目位置の取得
  long pos = newlist_000->getTopPos();



getBottomPos() 関数の説明

書式
long getBottomPos();
機能
現在最下段に表示されている項目番号を取得する関数です。
処理
現在表示中の最下段に位置する項目の番号を 0,1,2,... で返します。
引数
なし。
返値
最下段の項目の番号
注意
サンプル
  //現在の最下段の項目位置の取得
  long pos = newlist_000->getBottomPos();



setEnableActivate() 関数の説明

書式
void setEnableActivate(WSCbool fl);
機能
項目が選択されたときに、ACTIVATE トリガを発生するかどうかを 設定する関数です。True に設定すると、項目選択時に、 ACTIVATE トリガが発生し、そのトリガに設定されている イベントプロシージャを実行することができます。 デフォルト値は True です。
処理
True が設定された場合、項目選択時に、 ACTIVATE トリガを発生させます。
引数
(in)WSCbool fl トリガ発生指定
返値
なし。
注意
サンプル
  //項目選択時に ACTIVATE を発生させるようにします。
  newlist_000->setEnableActivate(True);



onSort() 関数の説明

書式
void onSort();
機能
表示タイプ属性が詳細の場合、ソートボタンが押されたとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_SORT)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、データのソートに関する イベント処理を行うことができます。 アプリケーションでは、etSortPos() 関数を用いて、 どのソートボタンが押されたかを確認し、データに対する処理を 行います。
処理
引数
なし。
返値
なし。
注意
サンプル
void new_class::onSort(){
  //ソートボタンがおされた場合に呼び出されます。
  //押されたソートボタン番号の取得
  long btn = getSortPos();
  //押下されたボタン毎に処理を行います。

  //処理を派生元クラスに引き継ぎます。
  old_class::onSort();
}



onItemSelected() 関数の説明

書式
void onItemSelected();
機能
項目が選択状態になったとき、この関数が実行されます。 派生クラスでは、トリガ(WSEV_ITEM_SELECTED)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、データの選択に関する イベント処理を行うことができます。
処理
引数
なし。
返値
なし。
注意
サンプル
void new_class::onItemSelected(){
  //項目が選択された場合に呼び出されます。
  long pos = getSelectedPos();

  //処理を派生元クラスに引き継ぎます。
  old_class::onItemSelected();
}



onInputFixed() 関数の説明

書式
void onInputFixed(WSCstring str,long pos,long column);
機能
WSNenableInput(入力可否)プロパティが True (入力可) の場合、項目にキー入力され、確定状態になったとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_INPUT_FIXED)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、文字列の入力に関する イベント処理を行うことができます。
処理
引数
(in)WSCstring str 入力された文字列
(in)long pos 入力のあった項目番号
(in)long column 詳細表示の場合のコラム位置
返値
なし。
注意
サンプル
void new_class::onInputFixed(){
  //項目入力が確定された場合に呼び出されます。
  //入力文字列の取得
  WSCstring str;
  str = getInputString();

  //処理を派生元クラスに引き継ぎます。
  old_class::onInputFixed();
}



cancelInput() 関数の説明

書式
void cancelInput();
機能
WSNenalbeInput(入力可否)プロパティが True (入力可)の場合に、現在入力中のキーボード入力を キャンセルする関数です。
処理
引数
なし。
返値
なし。
注意
サンプル
  //現在、入力されている文字列を破棄します。
  newlist_000->cancelInput();



getInputString() 関数の説明

書式
void getInputString();
機能
WSNenalbeInput(入力可否)プロパティが True (入力可)の場合に、現在入力中のキーボード入力を 取得する関数です。
処理
引数
なし。
返値
現在の入力中の文字列
注意
サンプル
onInputFixed() を参照してください。



onKey() 関数の説明

書式
void onKey(WSDkeyboard* keyboard,WSCbool keydown);
機能
WSNenalbeInput(入力可否)プロパティが True (入力可)の場合、項目に対してキーボードが 押下または解放されたとき、この関数が実行されます。 派生クラスでは、トリガ (WSEV_KEY_PRESS / WSEV_KEY_RELEASE) による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、キーボード入力に関する イベント処理を行うことができます。 第二引数が True なら WSEV_KEY_PRESS、 False ならSEV_KEY_RELEASE イベントがあったことを表します。
処理
引数
(in)WSDkeyboard* keyboard キーボードインスタンス
(in)WSCbool keydown True = Press、False = Release
返値
なし。
注意
サンプル
void new_class::onKey(WSDkeyboard* keyboard,WSCbool keydown){
  //キー入力された場合に呼び出されます。
  if (keydown != False){   //キー押下
    //キーの取得
    long key = keyboard->getKey();
    //入力文字列の取得
    WSCstring str = keyboard->getText();
  }

  //処理を派生元クラスに引き継ぎます。
  old_class::onKey(keyboard,keydown);
}



getSelectedNextPos 関数の説明

書式
long getSelectedNextPos(lont pos);
機能
指定された位置よりも後に存在する マウス操作によって選択状態になった項目の位置を 取得する関数です。 返される項目位置は先頭から順に0,1,2… になり、 最後の項目は項目数 -1 です。
処理
マウスにより選択状態になった項目の位置を取得します。
引数
なし。
引数
(in)long pos 検索を開始する位置
返値
選択状態となっている表示項目の位置(先頭=0 〜 N-1)
注意
選択状態の項目が無かった場合、-1 をかえします。
サンプル
  long pos = newlist_000->getSelectedPos();
  WSCstring item;
  if (pos != -1){
    item = newlist_000->getItem(pos);
    printf("pos=%d item=%s\n",pos,(char*)item);
  }
  while(1){
    pos = newlist_000->getSelectedNextPos(pos);
    if (pos == -1){
      break;
    }
    item = newlist_000->getItem(pos);
    printf("pos=%d item=%s\n",pos,(char*)item);
  }



getSelectedNextItem 関数の説明

書式
WSCstring getSelectedNextItem(long pos);
機能
選択された項目の文字列を取得する関数です。 指定された位置よりも後に存在する マウス操作によって選択状態になった項目を 取得する関数です。
処理
引数
(in)long pos 検索を開始する位置
返値
選択状態になっている項目の文字列を返します。
注意
返り値を直接 char* で受け取ってはいけません。
サンプル
  long pos = newlist_000->getSelectedPos();
  WSCstring item;
  if (pos != -1){
    item = newlist_000->getItem(pos);
    printf("pos=%d item=%s\n",pos,(char*)item);
  }
  while(1){
    long next = newlist_000->getSelectedNextPos(pos);
    if (next == -1){
      break;
    }
    item = newlist_000->getSelectedNextItem(pos);
    printf("pos=%d item=%s\n",pos,(char*)item);
    pos = next;
  }


Document Release 3.70

For Use with Wide Studio Release 3.70, Spring 2004


WideStudio Home | Up to

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