PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21450 04/07/29 09:21:38 RE(2):PB6.5: MDIメニューからのイベントの呼び出し方 By たにやん
21445 04/07/28 12:57:24 RE(1):PB6.5: MDIメニューからのイベントの呼び出し方 By ハム
21443 04/07/27 14:34:24 PB6.5: MDIメニューからのイベントの呼び出し方 By たにやん

カテゴリ:スクリプトの記述
日付:2004年07月28日 12:57 発信者:ハム
題名:RE(1):PB6.5: MDIメニューからのイベントの呼び出し方

たにやんさん、こんにちは。

次の手順で行えば可能です。

1、シートウィンドウにユーザイベント(例えばUE_BTN_CLICKED)を定義します。
  ユーザイベントにはウィンドウ上のコマンドボタンのclickedイベントを起動する
  コードを記述します。
  尚、このイベントはシートを継承で作成し先祖ウィンドウに定義しておくと個々の
  ウィンドウで定義する必要はなくなります。またこの場合は、スクリプトは子孫で
  記述したほうが良いでしょう。継承関係をうまく作成すればもっと効率よくなります。
2、メニュー項目のclickedイベントにシートのユーザイベント(例えばUE_BTN_CLICKED)を
  呼出すコードを記述します。
  例)
  // アクティブシートの変数を宣言します。
    window activesheet
    activesheet = w_frame.GetActiveSheet()

    IF IsValid(activesheet) THEN
       activesheet.EVENT dynamic TRIGGER UE_BTN_CLICKED() 
    ELSE
      return
    END IF

もしたにやんさんのコードを有効にする場合には
Window gw_this   //アクティブ画面
で ”Window”を実際に使用するウィンドウオブジェクトの名前にしなければならず
汎用的に作成するのが難しくなります。
ウィンドウオブジェクトの先祖クラスのWindowクラスはコマンドボタンを配置されていない為
コンパイルでエラーになります。


>こんにちは。
>MDIメニューからウィンドウに貼り付けてあるコマンドボタンのクリックイベントを呼び出したいのですが、
>どうしても呼び出せません。
>MDIフレーム内でアクティブになっているウィンドウのコマンドボタンのクリックイベントを呼びたいので
>すがどのように記述すればよいのでしょうか?コマンドボタン名は同じ処理同士はすべて統一してあります。
>EVENTではウィンドウのイベントしか呼び出せないのでしょうか?

>Window gw_this   //アクティブ画面

>cb_search          //コマンドボタン

>各ウィンドウのactivateイベント
>gw_this = This

>MDIメニュー検索ボタンスクリプト内
>gw_this.cb_search.Event clicked()

>どなたかアドバイスよろしくお願いします。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS その他
Browser InternetExplorer5.X

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.