Top > OOobbs2 > 135
** [[OOobbs2/135]] [#je3a3979]
-''サマリ'': シェイプのアンカーの設定
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[七志乃権兵衛]]
-''投稿日'': 2008-08-30 (土) 17:18:03
*** 質問 [#s8970ae4]
リストボックスなどのシェイプのアンカー設定を変更するには、どこのプロパティを変更すればいいのでしょうか?
*** 回答 [#mdadd19e]
- Calc では Anchor プロパティにアンカーするオブジェクト、セルまたはシートを指定します。

 Sub Main
  oShape = ThisComponent.getDrawPages().getByIndex(0).getByIndex(0)
  
  oSheet = ThisComponent.getSheets().getByINdex(0)
  oShape.Anchor = oSheet ' ページにアンカー
  'exit sub
  oCell = oSheet.getCellByPosition(5,5)
  oShape.Anchor = oCell ' セルにアンカー
 End Sub

-- はにゃ? &new{2008-08-30 (土) 20:57:01};
- Anchor プロパティ変更できるんですね。 API Reference に [ readonly ]と記述してあったので、他で変更するのかと思ってしまいました。 ところで、アンカー設定変更すると、シェイプの座標が 0, 0 になってしまうのですが、これは座標の設定はアンカー変更後にしろってことでいいのでしょうか? -- 七志乃権兵衛 &new{2008-08-31 (日) 01:14:33};
- &idlref(com.sun.star.sheet.Shape); ここに記載されている Anchor プロパティですが、コントロールシェープは次のサービスをサポートしています。

- &idlref(com.sun.star.drawing.ControlShape);
- &idlref(com.sun.star.drawing.Shape);

これらのサービスに com.sun.star.sheet.Shape サービスはインクルードされていません。コントロールシェープの Anchor プロパティはこの IDL にしたがって実装されているわけではないようです。

また、MRI で調べるとコントロールシェープなどの Anchor プロパティは ReadOnly になっていません。

時々こういうことがあります。IDL Guide だけ見ていると設定するプロパティがわからなかったりします。

アンカーの種類を変更すると座標が 0,0 になるのは座標系が変わってしまうので仕方ないと思います。シートだと左上が 0,0、セルだとセルの左上が 0,0 になります。

-- はにゃ? &new{2008-08-31 (日) 09:23:10};
- ありがとうございます。 OOoは構造が入り組んでて難しいですね。 -- 七志乃権兵衛 &new{2008-08-31 (日) 12:17:44};

#comment
*** 感想,コメント,メモ [#faac6247]

#comment

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