Wide Studio Programmer's Guide

Wide Studio Home
Up to


オブジェクトに配置されている子オブジェクトを取得するには

子オブジェクトを取得する関数には、次のようなメソッドを利用します。
子取得メンバ関数 機能
WSCbase* getChildInstance(char*) オブジェクト名称指定による取得
WSClistData getChildren() 配置される子オブジェクトの取得
long getAllChildren(WSClistData&) 配置される全ての子オブジェクトの取得



特定の子オブジェクトを取得するには

特定の子オブジェクトを取得するには、メンバ関数 getChildInstance() を利用します。
void event_procedure(WSCbase* object){
  //特定の子オブジェクトを名称を指定して取得
  WSCbase* child = object->getChildInstance("newpbtn001");
  if (child != NULL){
    //特定の子オブジェクトにアクセス
    child->setVisible(True);
  }
}
object が配置しているの子オブジェクトを名称指定で取得しているところです。 名称指定で子オブジェクトを取得する場合、再帰的(子オブジェクトに配置されている 子オブジェクトまで)に検索します。もし指定した名称のオブジェクトが見つからなかった 場合、NULL が返されます。

子オブジェクトを取得するには

オブジェクトに配置されている子オブジェクトを取得するには、メンバ関数 getChildren()を利用します。
void event_procedure(WSCbase* object){
  //子オブジェクトリストの取得
  WSClistData children = object->getChildren();
  //子オブジェクトの個数
  long num = children.getNum();
  long i;
  for(i=0; i<num; i++){
    //子オブジェクトの取得
    WSCbase* child = (WSCbase*)children[i];
//  WSCbase* child = (WSCbase*)children.getData(i); //でも良い
    //子オブジェクトにアクセス
    child->setVisible(False);
  }
}
object に配置されているの子オブジェクトを取得しているところです。 子オブジェクトは WSClistData(リストデータオブジェクト)に格納されて 返値されます。個々のオブジェクトは、そのリストデータから、メンバ関数 getData(i)か、 配列演算子[i] で取得し、WSCbase* にキャストして取得して下さい。

全ての子オブジェクトを取得するには

存在する子オブジェクト全てを取得するには、メンバ関数 getAllChildren() を利用します。
void event_procedure(WSCbase* object){
  //子オブジェクトを格納するリストデータの宣言
  WSClistData children;
  //子オブジェクトを取得
  object->getAllChildren(children);
  //子オブジェクトの個数
  long num = children.getNum();
  long i;
  for(i=0; i<num; i++){
    //子オブジェクトの取得
    WSCbase* child = (WSCbase*)children[i];
    //子オブジェクトにアクセス
    child->setVisible(True);
  }
}
object に配置されているの全ての子オブジェクトを取得しているところです。 getChildren() と異なるところは、再帰的に全ての子オブジェクトを 取得するところです。

親アプリケーションウィンドウに配置された子オブジェクトを取得するには

存在する子オブジェクト全てを取得するには、メンバ関数 getAllChildren() を利用しますが、 それを、親アプリケーションウィンドウで行います。
void cbop(WSCbase* object){
  //親アプリケーションウィンドウの取得
  WSCbase* win = object->getParentWindow();
  //子オブジェクトを格納するリストデータの宣言
  WSClistData children;
  //親アプリケーションウィンドウに配置された子オブジェクトを取得
  win->getAllChildren(children);
  //子オブジェクトの個数
  long num = children.getNum();
  long i;
  for(i=0; i<num; i++){
    //子オブジェクトの取得
    WSCbase* child = (WSCbase*)children[i];
    //子オブジェクトにアクセス
    child->setVisible(False);
  }
}
親アプリケーションウィンドウに配置されているの全ての子オブジェクトを取得しているところです。
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