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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.