イベント駆動型スクリプティング③ [パレットウィンドウ]
画地レイヤーを前景にしたときは、地目の色塗りを行い、下水道レイヤーを前景にした時は、下水道の管やシンボルが表示されるようにしているから、パレットウィンドウも変更したいと思いませんか?
ここでは、プロジェクト内スクリプトを使用し、OnCurLayerChangedイベントに対して「パレットウィンドウ」を変更するスクリプトを記述しました。
- ■ サンプル
サンプル[script5.zip(約2KB)]をダウンロードする
 | パレットウィンドウ.js | :サンプルJScript |
 | パレットウィンドウ.vbs | :サンプルVBScript |
- 《内容》
- アクティブになったレイヤーから、該当する描画パラメーター(ここではレイヤータイトルと同一名称の描画パラメーター)のパレットウィンドウを表示します。
- ■ 解説
- function OnCurLayerChanged()
{
:
}
は、アクティブレイヤーを変更した時に発生するイベントです。
これを「このプロジェクトのスクリプト」に記述し、「通知するイベント」チェックボックスをONにします。

PcmAutoLayerクラスのGetCurrentLayer()メソッドでアクティブなレイヤーのオブジェクトを取得します。
PcmAutoRenderParamsクラスのSearchRenderParams()メソッドで指定した描画パラメーターの有無を確認し、PcmAutoRenderParamsクラスのCloseWindow()メソッドで表示されているパレットウィンドウを全て閉じます。
PcmAutoLayerクラスのTitleプロパティで取得したレイヤーのタイトルから、同一名称の描画パラメーターのパレットウィンドウを「OpenPal」コマンドで開きます。
- ■ 実行
- ▼ 「画地」レイヤーをアクティブにした場合

▼ 「家屋」レイヤーをアクティブにした場合

※ダウンロードしたファイルは、[プロジェクト]リボン-[プロジェクト設定]-[プロジェクト]の[スクリプト]パネルにコピーし、通知するイベントにチェックを入れて下さい。
また、このファイルにサンプルプロジェクトはありません。
使用されるプロジェクトの状態に合わせてレイヤーのタイトル名、描画パラメーター名を変更する必要があります。
|