サポート > PC-MAPPING ヒント集 > スクリプト > イベント駆動型スクリプティングC [パレットウィンドウ(2)]
イベント駆動型スクリプティングC [パレットウィンドウ(2)]
PC-MAPPINGウィンドウ内で複数のプロジェクトを開いている時に、それぞれのプロジェクトをアクティブ(前景)にする度にパレットウィンドウも変更したいと思いませんか?
ここでは、プロジェクト内スクリプトを使用し、OnDocActivateイベントに対して「パレットウィンドウ」を変更するスクリプトを記述しました。
■ サンプル
サンプル[script11.zip(約55KB)]をダウンロードする
アーク_js.pcm:JScriptサンプルプロジェクト
ポリゴン_js.pcm:JScriptサンプルプロジェクト
アーク_vbs.pcm:VBScriptサンプルプロジェクト
ポリゴン_vbs.pcm:VBScriptサンプルプロジェクト

《内容》
サンプルプロジェクトで、
  • 「アーク」プロジェクトには描画パラメーター「Arc」パレット
  • 「ポリゴン」プロジェクトには描画パラメーター「Pol」パレット
が設定されています。
アクティブになったプロジェクトから、該当する描画パラメーターのパレットウィンドウを表示します。

■ 解説
function OnDocActivate (lngPara1)
{

}

ベクタードキュメント(プロジェクト)がアクティブまたは、非アクティブになったときに発生するイベントです。
これを「このプロジェクトのスクリプト」に記述し、「通知するイベント」チェックボックスをONにします。
OnDocActivateイベントの第一引数は、ベクタードキュメントウィンドウがアクティブまたは、非アクティブを取得します。
アクティブの場合=1、非アクティブの場合=0を返します。
よって、アクティブの場合、AppクラスのDocmd()メソッドで「OpenPal」コマンドを実行し、非アクティブの場合、AppクラスのDocmd()メソッドで「ClosePal」コマンドを実行します。

■ 実行
添付されている「アーク」「ポリゴン」プロジェクトを開きます。

ベクター表示ビューの「ポリゴン」タグをマウスでクリックします。
すると、「ポリゴン」プロジェクトがアクティブになると共に、「Pol」パレットウィンドウが表示されます。