過去の桐井戸端BBS (桐ver.8)
16759 行訂正終了イベントで設定しているのだが次の行に移っても訂正モードが継続しないで表示モードになってしまう 尾形 2002/07/29-08:57
どうもお世話になります。よろしくおねがいします
自分の意図が上手く伝わるか不安ですが。

普通は、[F2]を押して行訂正を開始すると、1行目の行訂正が終わると
2行目〜3行目〜4行目 と訂正モードで入力を継続しますよね

行訂正終了(行挿入終了)イベントを設定しました。そのイベント内で
メソッド呼び出し @フォーム.更新モード設定(0)
 行訂正〜〜等の計算をする 
メソッド呼び出し @フォーム.更新モード設定(2)

と設定しましたが、次の行に行ってから、行訂正モードになりません。
表示モードになっています
どうしたらいいのでしょうか?
よろしくお願いします

16762 Re:行訂正終了イベントでの継続訂正 悲しげ 2002/07/29-11:24
記事番号16759へのコメント
どもっ尾形さん
実はよく判らないのですが(私は挫折以前に諦めたので)

>メソッド呼び出し @フォーム.更新モード設定(0)
>行訂正〜〜等の計算をする 
>メソッド呼び出し @フォーム.更新モード設定(2)

ここで「行訂正終了」イベントが2回発生しているかもしれなくて、
だとすればフラグを立てて制御するしかないのかもしれません。
判らないのなら曖昧なことは書くなと云われるかな?(^^;)

え〜と、↓とは別のことでしょうか?

http://www.fuku3.com/~habata/kbbs/kakov8/05126.htm

ちなみに私は↑の処理を応用することが出来ず(一番の躓きは「フォーカス*」系のイベントを使うと、
任意のテキストにフォーカスを移すことができないこと)、結局「行**終了」イベントを使うことを諦めて
「キーダウン」イベントでゴリゴリに組んでみました。
全然参考にならないかもしれませんが、以下その一部を
----------------------------------------------------------------
手続き定義開始 フォーム::キーダウン(長整数 &仮想キーコード,……
 var 自動,長整数{&更も},自動,文字列{&focus}
 method @フォーム.更新モード取得(&更も)
 method @フォーム.フォーカスオブジェクト取得(&focus)
 ケース開始
 ケース(&更も=0)  /*表示モードの時*/
  ……
  ……
 ケース その他 /*訂正モードの時*/
  if((&仮想キーコード=13 .and &focus="t右端" .and &止=0)\
    .or (&フラグ=8 .and &仮想キーコード=40 .and (&focus="t中途1"
.or &focus="t中途2" ……) .and &止=0))
   /*訂正モード時にfocusが右端で<Enter>すると確定後、明細行連続追加へ*/
   /*訂正モード時にfocusが中途項目にあって<Ctrl>+<↓>押下→確定後、明細行連続追加へ*/
   /*&止=0が連続入力可であることのフラグ、でもかなり苦しい*/
   method @フォーム.更新モード設定(0)
   &処理中止=1
   ジャンプ 行番号=+1
   call 品追加()
  else if(&仮想キーコード=115) /*[f・4]で表示モード化した時は連続入力ではない扱いとする*/
   &止=1
  else if(……)
   ……
  end
 ケース終了
----------------------------------------------------------------
かなり苦しい(^^;)
あ、これは行追加(挿入)だけですね。行訂正の場合はイベントを組まずに桐に任せてしまっていたりするので、
今回の尾形さんのには何の役にも立たないでしょうけど、ま、折角書いてしまったので……。(^^;)

16763 Re:行訂正終了イベントでの継続訂正 尾形 2002/07/29-12:21
記事番号16762へのコメント
どうも、悲しげさん
タイマーイベントで逃げるしかなみたいですね

16766 Re:行訂正終了イベントでの継続訂正 尾形 2002/07/29-16:02
記事番号16763へのコメント
と思ったけど、難しそう (^^;;

戻る