《Group》

マクロの直接記述


 定義名の部分に直接プロパティを指定できます。

キー定義、メニュー定義、ツールバー定義などにおいて

$マクロファイル名,プロシージャ名

と記述すると、指定したマクロファイルのプロシージャが実行されましたが、プロパティ(数値を取得&設定可能なもののみ)の記述も可能になりました。これにより、プロパティに値を設定するだけの場合、マクロを作成しなくても済むようになります。
 さらに、メニューやツールバーに割り当てた場合、チェック状態も反映されます。


$@@StatusKanjiCode=1
とすると、@@StatusKanjiCode=1 が実行されます。また、これをメニューに定義したときで @@StatusKanjiCode=1 のときは、メニューにチェックマークがつきます。

書式1   $プロパティ
        プロパティ = not プロパティ が実行されます。
        プロパティが0以外のときチェックされます。
書式2   $プロパティ=数値
        プロパティ = 数値 が実行されます。
        プロパティが数値と等しいときチェックされます。
書式3   $プロパティ|数値
        プロパティ = プロパティ or 数値 が実行されます。
        プロパティ and 数値 が数値に等しいときチェックされます。
書式4   $プロパティ^数値
        プロパティ = プロパティ xor 数値 が実行されます。
        プロパティ and 数値 が数値に等しいときチェックされます。

数値は10進数のみ

また、*マクロ名,プロシージャ名 を後ろに付けると、チェック状態に関しては前述の書式により行われますが、マクロ名,プロシージャ名 が実行されます。


$@@MenuIcon^1*QXNEW.MAC,test

(@@MenuIcon and 1)=1 のときチェックされますが、これを実行すると、@@MenuIcon^1 ではなく、QXNEW.MAC,test が実行されます。

設定例は qxnew.qma を参照してください。




メソッド、ステートメントの記述

書式
$*マクロ内容


キー定義ファイルにおいて、メニュー定義で、
"test"  $*beep

と記述すると、
beep
が実行されます。
実際には

proc main
マクロ内容
end proc

という内容のファイルを作成して実行しています。

メニューにおいて、プロパティによるチェック状態を反映させたいときは

"test"  $@@MenuIcon^1**@@MenuIcon=@@MenuIcon xor 1:print @@MenuIcon

のように * が2つ重なります。
 この例の場合、(@@MenuIcon and 1)=1 のときチェックされますが、これを実行すると、@@MenuIcon^1 ではなく、@@MenuIcon=@@MenuIcon xor 1:print @@MenuIcon が実行されます。


最新情報  TOP  マクロTOP