WideStudio/MWT Class Reference

WideStudio/MWT 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* item 表示文字列
(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 関数を呼び出して、 リストの表示を更新する必要があります。
処理
指定した位置(先頭=0〜 N-1、-1=末尾)を与えられた文字列で 置き換えます。
引数
(in)char* item 表示文字列
(in)long pos 項目の位置(先頭=0 〜 N-1、-1=末尾)
返値
なし。
注意
指定する位置に関して、項目数が N個の場合、先頭が0で、最後は 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=末尾)
返値
なし。
注意
指定する位置に関して、項目数が N個の場合、先頭が0で、最後は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 までの 範囲を指定します。
処理
指定した位置(先頭=0〜 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 val);
機能
指定された位置の項目の項目属性に値を指定する関数です。
処理
項目属性には、次の様なものが存在します。
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.90

For Use with WideStudio/MWT Release 3.90, Summer 2005


WideStudio/MWT Home | Up to

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: June 25, 2005