Wide Studio Object Reference

| 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)
  注意
  サンプル

          long pos = newlist_000->getSelectedPos();
          printf("selected item = %d\n",pos);

  ### setSelectPos 関数の説明

  書式
    void setSelectPos(long pos);
  機能
    指定した項目位置を選択状態にする関数です。 項目位置は先頭が 0 で、項目数 -1 までの 範囲を指定します。
  処理
    指定した位置(先頭=1〜 N-1、-1=末尾)を選択状態にします。
  引数

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

  返値
    なし。
  注意
  サンプル

          newlist_000->delAll();
          newlist_000->addItem("item0");
          newlist_000->addItem("item1");
          newlist_000->addItem("item2");
          newlist_000->setSelectedPos(1); // item1 を選択状態に設定

  ### getSelectedItem 関数の説明

  書式
    WSCstring getSelectedItem();
  機能
    選択された項目の文字列を取得する関数です。 複数選択されている場合は、最後に選択されたものが返されます。 選択されたものをすべて取得したい場合は、、getSelectedLabels() 関数を使用してください。 返された文字列は、解放してはいけません。
  処理
  引数
    なし。
  返値
    選択状態になっている項目の文字列を返します。
  注意
    返された文字列は、解放してはいけません。また、 複数選択されている場合は、最後に選択されたものが返されます。 選択されたもののすべてを取得したい場合は、getSelectedLabels() 関数を使用してください。
  サンプル

          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 を プロパティに持つものでなければなりません。
  処理
    指定されたクラスで、表示項目を表示します。 デフォルトは、 WSCvlabel クラスです。
  引数

    (in)char* class_name | クラス名称を指定

  返値
    なし。
  注意
    クラスを指定する場合、プロパティ WSNlabelString を 持ったものを指定してください。リストクラスは、 表示すべき文字列をWSNlabelString プロパティに格納します。
  サンプル

          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();
  機能
    項目を表示しているオブジェクトのリストを取得する関数です。 リスト内の項目表示オブジェクト（デフォルトでは WSCvlabel）に 直接アクセスしたい場合に、この関数を使って取得することが できます。取得したオブジェクトは、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 が設定された場合、項目選択時に、 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.20
  For Use with Wide Studio Release 3.20, Winter 2002

  WideStudio Home | Up to

  Copyright(C) T. Hirabayashi, 1999-2002 |  | Last modified: Nov. 28, 2002