PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
10438 | 00/02/23 20:31:22 | RE(11):PB6.5: メニュー項目を挿入したように見せる方法 > メニューの継承時シフト By てとらぽっと |
10436 | 00/02/23 19:47:02 | RE(10):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更(ごみレス) By Taka |
10428 | 00/02/23 12:55:24 | RE(9):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更(ごみレス) By てとらぽっと |
10426 | 00/02/23 10:31:20 | RE(8):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更(ごみレス) By M.M |
10425 | 00/02/23 10:05:03 | RE(7):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更(ごみレス) By Taka |
10424 | 00/02/23 00:54:06 | RE(6):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更(ごみレス) By てとらぽっと |
10423 | 00/02/22 23:26:46 | RE(5):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By Taka |
10414 | 00/02/22 18:10:39 | RE(4):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By てとらぽっと |
10413 | 00/02/22 18:03:26 | RE(3):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By Mika★ |
10409 | 00/02/22 17:30:06 | RE(2):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By noy |
10406 | 00/02/22 17:04:33 | RE(1):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By Mika★ |
10402 | 00/02/22 16:32:50 | PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更 By noy |
カテゴリ:スクリプトの記述
日付:2000年02月22日 23:26 発信者:Taka
題名:RE(5):PB6.5: MDIフレーム内の複数シート間でのメニュー属性変更
noyさん、こんばんは。
>MDIフレーム内でAシート、Bシートを開いています。
>Aシート、Bシート共に同じメニューオブジェクトm_inputを関連付けしています。
>Aシートを開いた後、Bシートを開き、Aシートに記述してある下記のような
>イベントを走らせると何故かBシートのメニューに反映されてしまいます。
>
> Aシート上のコマンドボタンClickedイベントの記述
> m_input.m_file.m_write.Enabled = False
この現象はおそらく、シートを次のようなパターンで開いているのでは?
・シートA … 複数インタンス可能
(w_sheet_a型の変数win → OpenSheet(win, ... ))
・シートB … 複数インタンス不可
(OpenSheet(w_sheet_b, ... ))
このようにして開いた場合、m_input が示すメニューインスタンスは、シートBが
所有するメニューになっています。
シートAが、自分が所有するメニューに対して属性を設定する場合、メニュー関数を
使うと良いでしょう。
m_inputのメニュー関数 mf_SetWriteEnable( boolean status )
m_file.m_write.Enabled = status
シートAのボタンからは、
Parent.MenuID.Dynamic mf_SetWriteEnable( true/false )
のように呼び出します。
(ウィンドウ.MenuIDプロパティは、自分のメニューインスタンスへの参照が保持されています)
そうすると、シートAのメニューだけに対して設定されます。
シートAが複数開いている場合、メニューインスタンスも個別なので支障ありません。
それにしても、PBのメニューオブジェクトって扱いにくいですよね。
・オブジェクトが重たいし、
・ペインタは使いづらいし、
・多重継承できないし、
・イベントが定義できないし、
・ツールバーはMDIでしか使えないし、
・ボタンにはICONファイル使えないし、
・項目は動的生成できないし、
・以下省略(笑)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Sybase SQL Anywhere Standalone
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.