イベント駆動型スクリプティングD [アクティブレイヤーの入れ替えその1(縮尺制御)]
表示縮尺制御では、レイヤーの表示・非表示だけしかできません。アクティブレイヤーしか実行対象としないような機能(検索、作図等)が行なえるように、縮尺によってアクティブなレイヤーを自動的に変更したいとは思いませんか?
ここでは、プロジェクト内スクリプトを使用し、OnZoomChangedイベントに対して「縮尺によってアクティブなレイヤーを変更する」スクリプトを記述しました。
- ■ サンプル
サンプル[script17.zip(約73KB)]をダウンロードする
 | sample_js.pcm | :JScriptサンプルプロジェクト |
 | sample_vbs.pcm | :VBScriptサンプルプロジェクト |
- 《内容》
- レイヤーには「画地」「大字界」が登録されています。
- 表示縮尺「1/1000」より大きい場合「大字界」レイヤーを
- 表示縮尺「1/1000」より小さい場合「画地」レイヤーを
アクティブにして表示します。
- ■ 解説
- function OnZoomChanged()
{
:
}
PC-MAPPINGベクターウィドウ上を縮尺が変更されたときに実行します。
添付されているプロジェクトには以下のように、「スクリプト」へ記述され、「通知するイベント」チェックボックスがONになっています。
- ■ 実行
-
- 添付されているプロジェクトファイルを開きます。
現在、表示縮尺は「1/1300」です(ディスプレイのサイズに影響されますので、必ずではありません)。
- [画面表示]リボン-[画面表示]-[縮尺設定]を実行し、縮尺1/800で表示します。
- すると、「画地」レイヤーがアクティブになり、画地文字列、地目色塗り表示されます。

|