処理フロー: マウスのスクロール機能を止める

dbMAGICのときは、マウスのスクロール機能は使えませんでしたが、Magic eDeveloperになってからは使えるようになりました。
開発時などは非常に重宝するのですが、実行時には使われると困るという場合もあります。
スクリーンモードの入力画面が、その困る代表例かと思います。

入力途中に、ついスクロールさせてしまうと、レコード後処理を通ってデータを書き込もうとします。
入力チェックでエラーになれば、そこで止まるのですが、いずれにせよユーザとしては戸惑ってしまうでしょう。

フリーソフト(WinHook.dll等)を使ってスクロール機能を一時停止するということも可能ですが、 ここでは、Magicの機能を使った制御方法を載せておきます。
V9Plusで説明しますが、V10でも同様です。

スクロール機能を使いたくないタスクにハンドラを作ります。
イベントタイプを「I=内部」、イベントを「次行」とします。
コントロールは指定しません(カーソルがどこにあっても有効という意味です)。
スコープは「T=タスク」としておきます。
(サブタスクがラインモード画面のときには、スクロール機能が使えた方が良いので。)
その他の設定は、デフォルトのままにしておきます。
※伝播は「No」でなければなりません。

ハンドラ内のコマンドは何も記述しません。

同様に、「前行」イベントのハンドラも作成します。

これで、マウスのスクロール機能は、このタスク内では動作しなくなります。
この状態でも、キーボードのPgUp、PgDnでレコード移動することはできますし、 修正モードであれば、F4を押して行作成アクションによるレコード追加(登録モード)も可能です。
ハンドラ