シェイプの色やサイズを変更する
シェイプの色の変更はIShapeStyle
オブジェクトのプロパティを変更します。シェイプの大きさの変更はINode
オブジェクトのSetSizeAt
メソッドを用います。変更できる色はリンクをご確認ください。
public void ChangeColorAndSize(ICommandContext c, ICommandParams p)
{
// 現在表示しているダイアグラムを取得します
IDiagram diagram = c.App.Workspace.CurrentEditor as IDiagram;
if (diagram == null)
{
// ダイアグラムを表示していない場合は処理を終了します
c.App.Output.WriteLine("sample", "ダイアグラムを表示していません");
return;
}
// ダイアグラム上に表示されているノードを取得します
INode node = diagram.Nodes.FirstOrDefault();
if (node == null)
{
// ノードを表示していない場合は処理を終了します
c.App.Output.WriteLine("sample", "ノードが表示されていません");
return;
}
// ノードのスタイルを取得し、色を変更します
IShapeStyle style = node.Style;
style.BackColor = "Red"; // 背景色を既定値で変更します
style.ForeColor = "#ffffff"; // 前景色をコードで変更します
// ノードの大きさを変更します
node.SetSizeAt(100, 100);
}
また、System.Drawing.Size
でサイズを変更することもできます。
その場合はINode
オブジェクトのSetSize
メソッドを用います。
public void SetSize(ICommandContext c, ICommandParams p)
{
// 中略
// ノードの大きさを変更します
System.Drawing.Size size = new System.Drawing.Size(200, 100);
node.SetSize(size);
}