Top > OOoBasic > Draw > Layer
*レイヤー [#z7703e26]

#contents

**概要 [#u5ed9642]
レイヤーはドキュメントで一貫して存在します。ページごとレイヤーを追加したりするのではなく、ドキュメント全体に反映されます。

ドキュメントを作成すると最初から五つのレイヤーが在ります。このうち background と backgroundobjects は隠しレイヤーで UI に表示されません。

|レイヤー名|説明|h
|layout|一般レイヤー|
|background|背景に配置したシェープ|
|backgroundobjects||
|controls|いつも最前面|
|measurelines|寸法線|

レイヤーを追加したり削除したりできますが、標準のものは削除できません。
**レイヤーマネージャ [#b48a6bed]
レイヤーマネージャがレイヤーを管理します。ドキュメントオブジェクトから getLayerManager メソッドで取得します。

 oDoc = ThisComponent
 oLayerManager = oDoc.getLayerManager()

このレイヤーマネージャは一般的な com.sun.star.container.XNameAccess インターフェースおよび独自の com.sun.star.drawing.XLayerManager インターフェースを備えています。

XNameAccess インターフェースを利用してレイヤーにアクセスできます。レイヤーの追加や削除といった管理は XLayerManager インターフェースを利用します。
**取得 [#q5552be8]
レイヤーの取得は XNameAccess インターフェースを使用します。また、XLayerManager インターフェースは XIndexAccess インターフェースを継承しているのでそのインターフェースのメソッドも利用できます。

 sLayerNames = oLayerManager.getElementNames()
 For i = 0 To UBound(sLayerNames) Step 1
   sLayerName = sLayerNames(i)
   oLayer = oLayerManager.getByName(sLayerName)
 Next

XIndexAccess のメソッドも利用できます。
 For i = 0 To oLayerManager.getCount() - 1 Step 1
   oLayer = oLayerManager.getByIndex(i)
 Next

**追加 [#w8c63a82]
レイヤーの追加。レイヤーの順番はコンテナ中のインデックスと同じになり、表示順に影響を与えます。

 oLayer = oLayerManager.insertNewByIndex(1)
**削除 [#g6345177]
レイヤーを削除します。
 oLayerManager.remove(oLayer)
**シェープのあるレイヤー [#zc1e817e]
あるシェープが所属しているレイヤーを取得します。

 oShape = oDrawPage.getByIndex(0)
 oLayer = oLayerManager.getLayerForShape(oShape)

**シェープをレイヤーに配置 [#dedfaa14]
あるシェープを特定のレイヤーに配置します。

 oShape = oDrawPage.getByIndex(0)
 oLayerManager.attachShapeToLayer( oShape, oLayer )

**レイヤーのプロパティ [#z56a44ba]

|プロパティ|説明|h
|Name|レイヤー名|
|IsLocked|ロックする|
|IsPrintable|印刷可能にする|
|IsVisible|表示状態|
|Title|タブ表示名|
|Description|レイヤーのコメント (2.4 以降?)|

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