Top > OOoBasic > Generic > Frame

フレーム Edit

  • ドキュメントウィンドが表示されているフレーム
  • ドキュメントのサブフレーム
  • ダイアログにサブフレームとして表示されるフレーム
  • 等など

色々ありますがここではドキュメントのフレームを取り上げます。

フレームの作成 Edit

com.sun.star.frame.Frame サービスをインスタンス化します。

oFrame = CreateUnoService("com.sun.star.frame.Frame")

コンポーネントの読み込み Edit

com.sun.star.frame.XComponentLoader インターフェースの loadComponentFromURL メソッドでドキュメントなどを読み込みます。

ウィンドウ com.sun.star.awt.XWindow は setComponent メソッドで設定します。

一般的なドキュメントのフレームは Desktop のサブフレームです。

サブフレームの設定 Edit

フレームには com.sun.star.frame.XFramesSupplier インターフェースから XFrames インターフェースにサブフレームが追加できます。

oFrames = oFrame.getFrames()
  • void append( [in] .frame.XFrame xFrame )
  • void remove( [in] .frame.XFrame xFrame )

サブフレームの取得 Edit

サブフレームは com.sun.star.container.XIndexAccess インターフェースをサポートしています。

ドキュメントは Desktop のサブフレームとして取得できます。

oDesktop = StarDesktop
oFrames = oDesktop.getFrames()

For i = 0 To oFrames.getCount() Step 1
  oFrame = oFrames.getByIndex(i)
  ' ...
Next i

フレームを閉じる Edit

フレームは com.sun.star.util.XCloseable インターフェースの close メソッドで閉じられます。

この close は例外 com.sun.star.util.CloseVetoException で拒否できます。

そのため、閉じようとしても拒否されることがあります。たとえば、ドキュメントを閉じるときの保存表示のキャンセルなどです。

OOo Basic で com.sun.star.util.XCloseListener でドキュメントなどの close を検出しようとしても拒否できません。OOo Basic では例外を送出できないためです。


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes