ウィンドウ構成とCRSオブジェクト

従来のBiz/Browserシリーズでは、Biz/Browserは単一のコンテキスト(CRS仮想マシン)で動作し、唯一の存在であるRootオブジェクトはアプリケーションウィンドウと同義であり、アプリケーションウィンドウはRootオブジェクトから制御することが可能でした。


Biz/Browser DTでは複数のコンテキストをタブとして同時に実行可能になったため、それに伴い一つのウィンドウ中に複数のコンテキストが存在するようになりました。

そのため、それに対応する新しい概念が導入され、従来のRootオブジェクトで行えた制御は自身の所属するタブの制御となり、アプリケーションウィンドウを制御するための専用のクラス、FrameWindowクラスが新設されました。

Rootオブジェクト

Rootオブジェクトは従来のBiz/Browserと同様、すべてのオブジェクトの最上位にありオブジェクトツリーの基点になりますが、コンテキストがタブ単位になったことに伴い、制御可能な範囲はタブの内部に限定されています。


他のコンテキストとは独立したメニューを持ち、タブとFormオブジェクトの間に表示させることができます。

位置・サイズはウィンドウのサイズにより自動制御されるため、プログラムから変更することはできません。

またタブに表示されるアイコンやタイトルを変更することができます。

FrameWindowオブジェクト

FrameWindowオブジェクトは従来のRootオブジェクトが持っていたアプリケーションウィンドウの位置・サイズの変更やウィンドウ共通メニューを表示する機能を持っています。


アプリケーションウィンドウの制御を行う場合、FrameWindowオブジェクトを取得する必要があります。

Root.getFrameWindowメソッドを用い、自身が所属するウィンドウのアクセッサとしてFrameWindowオブジェクトを取得します。


FrameWindowは所属するすべてのコンテキストで共通になりますので、FrameWindowへの変更は他の実行中のコンテキストへも影響を与えることを考慮する必要があります。


../_images/frame.png