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=末尾)

  返値
    なし。
  注意
    指定する位置は、先頭が０で、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
          item2

  ### delPos 関数の説明

  書式
    void delPos(long pos);
  機能
    指定した位置の項目を削除する関数です。 項目位置は先頭が 0 で、項目数 -1 までの範囲を指定します。
  処理
    指定した位置(先頭=1〜 N-1、-1=末尾)の表示項目を 表示項目リストから削除します。
  引数

    (in)long pos | 項目の位置(先頭=0 〜 N-1、-1=末尾)

  返値
    なし。
  注意
    指定する位置は、先頭が０で、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);
        }

  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