WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
目次


インスタンスに配置されている子インスタンスを取得するには

子インスタンスを取得する関数には、次のようなメソッドを利用します。

子取得メンバ関数 機能
WSCbase* getChildInstance(char*) インスタンス名称指定による取得
WSClistData getChildren() 配置される子インスタンスの取得
long getAllChildren(WSClistData&) 配置される全ての子インスタンスの取得





特定の子インスタンスを取得するには

特定の子インスタンスを取得するには、メンバ関数 getChildInstance() を利用します。

void event_procedure(WSCbase* object){
  //特定の子インスタンスを名称を指定して取得
  WSCbase* child = object->getChildInstance("newvbtn_001");
  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.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | 目次

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