Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSCpopupMenu

メソッド関数仕様



registerClient 関数の説明

書式
long registerClient(WSCbase* client)
機能
ポップアップメニューを表示したいオブジェクトを指定します。
処理
引数に指定されたオブジェクト上で右マウスボタンが押された 場合、そのマウスが押された場所にポップアップメニューが 表示されるようになります。
引数
(in)WSCbase* client メニューを表示させたいオブジェクト
返値
なし。
注意
2度以上、同じメニューに対して登録しないでください。また、 一度登録したオブジェクトを開放(デストロイ)する場合、 登録を抹消( unregisterClient() 関数を参照)してから 開放してください。
サンプル
//初期化トリガでのイベントプロシージャの例です。
#include <WSCpopupMenu.h>
void menu1_proc(WSCbase* client){
  //メニュー1が選択されると起動されます。
}
void menu2_proc(WSCbase* client){
  //メニュー2が選択されると起動されます。
}
void menu3_proc(WSCbase* client){
  //メニュー3が選択されると起動されます。
}
void init_event_proc(WSCbase* client){
  //ポップアップメニューの生成
  WSCpopupMenu*  pmenu = new WSCpopupMenu(NULL,"menu");
  pmenu->initialize();
  //ポップアップのプロパティを設定します。
  pmenu->setPropertyV(WSNmenuItemHeight,(WSCushort)20);
  pmenu->setPropertyV(WSNshadowThickness,(WSCuchar)1);
  pmenu->setPropertyV(WSNbackColor,"gray85");
  pmenu->setPropertyV(WSNtopShadowColor,"gray95");
  pmenu->setPropertyV(WSNbottomShadowColor,"gray55");
  //ポップアップメニューのメニュー項目を指定します。
  pmenu->setPropertyV(WSNmenuItems,
       "メニュー1:menu1,メニュー2:menu2,メニュー3:menu3");

  WSCprocedure* 
  pmop = new WSCprocedure("menu1",WSEV_NONE);
  pmop->setFunction(menu1_proc,"_menu1_proc");
  pmenu->addProcedure(pmop);

  pmop = new WSCprocedure("menu2",WSEV_NONE);
  pmop->setFunction(menu2_proc,"menu2_proc");
  pmenu->addProcedure(pmop);

  pmop = new WSCprocedure("menu3",WSEV_NONE);
  pmop->setFunction(menu3_work,"menu3_proc");
  pmenu->addProcedure(pmop);

  pmenu->registerClient(client);
  client->setUserData("popmenu",(void*)pmenu);
}
void delete_event_proc(WSCbase* client){
  WSCpopupMenu* pmenu = (WSCpopupMenu*)client->getUserData("popmenu");
  pmenu->unregisterClient(client);
  delete pmenu;
  client->setUserData("popmenu",(void*)NULL);
}



unregisterClient 関数の説明

書式
long unregisterClient(WSCbase*)
機能
一度登録されたオブジェクトの登録を抹消します。
処理
引数
(in)WSCbase* client 登録を抹消させたいオブジェクト
返値
なし。
注意
なし。
サンプル
registerClient() を参照してください。



onActivate 関数の説明

書式
void onActivate()
機能
メニューが選択された場合に実行されます。
処理
アプリケーションは、トリガ(WSEV_ACTIVATE)による イベントプロシージャを用いる変わりに、 この関数をオーバーライドすることでも、メニュー選択に関する イベント処理を行うことができます。
引数
なし。
返値
なし。
注意
なし。
サンプル
void new_class::onActivate(){
  //メニューが選択された場合に行う処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onActivate();
}


Document Release 3.00

For Use with Wide Studio Release 3.00, Summer 2002


Wide Stuido Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: June 10, 2002