サポート > PC-MAPPING ヒント集 > スクリプト > イベント駆動型スクリプティングB [パレットウィンドウ]
イベント駆動型スクリプティングB [パレットウィンドウ]
画地レイヤーを前景にしたときは、地目の色塗りを行い、下水道レイヤーを前景にした時は、下水道の管やシンボルが表示されるようにしているから、パレットウィンドウも変更したいと思いませんか?
ここでは、プロジェクト内スクリプトを使用し、OnCurLayerChangedイベントに対して「パレットウィンドウ」を変更するスクリプトを記述しました。
■ サンプル
サンプル[script5.zip(約2KB)]をダウンロードする
パレットウィンドウ.js:サンプルJScript
パレットウィンドウ.vbs:サンプルVBScript

《内容》
アクティブになったレイヤーから、該当する描画パラメーター(ここではレイヤータイトルと同一名称の描画パラメーター)のパレットウィンドウを表示します。

■ 解説
function OnCurLayerChanged()
{

}

は、アクティブレイヤーを変更した時に発生するイベントです。
これを「このプロジェクトのスクリプト」に記述し、「通知するイベント」チェックボックスをONにします。

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

■ 実行
▼ 「画地」レイヤーをアクティブにした場合

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

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