過去の桐井戸端BBS (桐ver.8)
5383 編集中の PageUp の禁止 郷司 2000/04/02-07:24
いつもお世話になります。V8(sp4)です。

フォームで編集中に、意図しないのに PageUp などを触れてしまい
修正中のレコードが変わってしまうのを禁止するために編集中など
任意のモードで、任意に指定するキーを効かないように設定を変更
するのはどうすればいいのでしょうか?
よろしくお願いします。
5387 Re:訂正中の Upキー等の禁止 悲しげ 2000/04/02-11:55
記事番号5383へのコメント
どもっ、郷司さん、

用語として「編集中」と云えば、訂正モードのみならず、検索やら削除やらも含んでしまいますが、
ここで意図しているのは訂正・項目訂正・行追加・挿入などの、いわゆる非表示状態のモードのこと
であろうとアタリを付けて、タイトルも変更してみました。
やりたいことが、cmdでのことなのかkevなのか不明ですが、私は前者での挙動はよく判らないので、
後者としてコメントします。

フォームのオブジェクト属性はイベントタブにて、「キーダウン」にチェックを入れます
(その前に該当するkevファイルを指定しておく必要あり)。
ダブルクリックでkevの記述に入れますので、次のように記述します。

------------------------------------------------------------
手続き定義開始 フォーム::キーダウン( 長整数 &仮想キーコード,……
 変数宣言 長整数{&更新モード}
 メソッド呼出し @フォーム.更新モード取得(&更新モード)
 /*&更新モード=0が表示モードを意味する*/
 if(&仮想キーコード=33 .and &更新モード>0)
   /*Upキー*/
   &処理中止=1
   /*↑桐の本来の機能を一時的に殺すことを意味する*/
 else if(&仮想キーコード=35 .and &更新モード>0)
   /*Endキー*/
   &処理中止=1
 end
手続き定義終了
------------------------------------------------------------
UpもDnもEndもHomeも一緒に殺したければ

 if(&更新モード>0 .and\
  (&仮想キーコード=33 .or &仮想キーコード=34 .or ……))

のように記述することが可能です。(^^)v

5388 ありがとうございました 郷司 2000/04/02-23:40
記事番号5387へのコメント
いつもいつもありがとうございます>悲しげさん

 そのとおりで解決しました。
 また、よろしくお願いします。

戻る