掲示板一覧   -   トピック一覧
   EA API
     要素背景色変更について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
mogass
投稿日時: 2011-10-17 15:11
EA Administrator
投稿: 171

要素背景色変更について

サポートに寄せられたご質問と回答の要約です。

○ご質問

ある要素の背景色を変更するため、DiagramObjectのStyleプロパティを変更し、
Update()メソッドをコールすることで、要素背景色変更処理を実装しています。
しかし、上記の処理を行うと、Styleプロパティの設定値がファイルに保存されてしまうようです。
(EAウィンドウの右上×ボタンをクリックしても「保存確認ダイアログ」が表示されず
 次回起動時に、背景色が変更されています)

Update()メソッドをコールすることで、ファイル保存されているようですが、
ファイル保存せずに、DiagramObjectのStyleプロパティを変更、表示反映する方法は
ありませんでしょうか。

参考までに、実装処理(C#ソース)は以下になります。
----------
EA.Diagram diagram = Repository.GetCurrentDiagram();
foreach (EA.DiagramObject d in diagram.DiagramObjects)
{
// 取得した要素IDより、要素を取得する
element = Repository.GetElementByID(d.ElementID);
d.Style = "BCol=4227327;BFol=9342520;LCol=9342520;LWth=1;" // 背景色変更
d.Update();
}
----------

○回答

DiagramObjectオブジェクトの情報は、
Update()メソッドを実行することでファイルに保存されます。

誠に申し訳ございませんが、
こちらは回避することはできません。

ご期待に添えず誠に申し訳ございません。

元のダイアグラムの情報を変更したくない場合、
アドインでダイアグラムをコピーするなどで、
回避していただく必要があります。


○追加のご質問

引用:
> DiagramObjectオブジェクトの情報は、
> Update()メソッドを実行することでファイルに保存されます。

以下では、画面上の要素の表示は反映されないという認識で宜しいでしょうか。
 ・DiagramObjectのStyleプロパティの変更
 ・Update()メソッドを実行しない
  
つまり、Update()メソッドを実行しないと画面上の表示は反映されない、という事で
宜しいでしょうか。

○追加のご質問への回答

仰る通りの認識であっています。

DiagramObjectのStyleプロパティを変更したとしても、
Update()メソッドでファイルに保存しないと表示には
反映されません。

回答の書き方が悪く、ご確認のお手数をおかけしてしまい
申し訳ございませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ