過去の桐井戸端BBS (桐ver.8)
14189 一覧表フォームで入力中のカーソルを文末に移動したい 桐ギリス 2001/11/22-22:31
住所録の一覧表フォームを作成しているのですが,郵便番号[〒]を入力後,
ソース値更新イベントで[住所]を他のファイル(〒番号一覧.tbl)から読みとり,
[住所]に項目値代入してデータを表示しています。

この時,[住所]のテキストボックスに移ったとき住所の先頭にカーソルがあります。
住所の最後(文末)にカーソルを移動できるようにするにはどうしたらよいでしょうか?
 行追加または行訂正の状態で実行させています。
ボタンを作成すればできるようですが,自動的に文末に移動させたいのです。

具体的には,
[〒]入力後,[住所]にデータが表示されますが,カーソルが先頭です。
  〒     住所
 306-0037  |古河市錦町

これを,[〒]を入力した後,[住所]にデータが表示されたと同時にカーソルを文
末にしたい。(入力状態のまま)

  〒     住所
 306-0037  古河市錦町|


過去のBBSで調べたのですが,良くわかりません。どなたか教えていただけないでしょうか。
14190 Re:一覧表フォームで入力中のカーソルを文末にしたい 悲しげ 2001/11/22-22:54
記事番号14189へのコメント
どもっ、桐ギリスさん
ひらがなの「きりぎりす」さんと云う桐の達人がいらっしゃいますが、
別人でしょうね?

さて、
http://www.fuku3.com/~habata/kbbs/kakov8/13067.htm
のツリーが参考になると思います。

その上で、末尾にカーソルをおくには、例えば
  --------------------------------------------
  var 長整数{&文字数}
  method @t某TXT.編集文字列長(&文字数)
  method @t某TXT.編集選択位置設定(&文字数+1,0)
  --------------------------------------------

この続きは「きりぎりす」さんから、ナンチッテ(^^;)
14197 ありがとうございました 桐ギリス 2001/11/23-09:36
記事番号14190へのコメント
「悲しげ」さんありがとうございました。
また,自分の頭の悪さでお騒がせしました。
紹介されたツリーとマニュアルを熟読し,何とか理解できました。
タイマーイベントはこういうときに使うんですね。すばらしいです。
私のフォームでは郵便番号と住所にしか使わないんですが,
どのテキストでも使えるように,&focusを使ったツリーの命令群を引用させていただきました。
住所の入力前イベントにタイマーイベントを書いたので,スペースキーによる項目訂正でも文末になるようになりました。


手続き定義開始 住所::入力前(参照 文字列 &編集文字列)
オブジェクト操作 @フォーム.タイマー1 = "1"
手続き定義終了

手続き定義開始 フォーム::タイマー1()
変数宣言 整数{&文字数},文字列{&focus}
method @フォーム.フォーカスオブジェクト取得(&focus)
method &focus.編集文字列長(&文字数)
method &focus.編集選択位置設定(&文字数+1,0)
オブジェクト操作 @フォーム.タイマー1 = "0"
手続き定義終了

追伸
 私は桐の達人ではないので,ひらがなの「きりぎりす」さんとは別人です。
私のペンネーム「桐ギリス」は,2001年1月から使わせてもらっているのですが,
「きりぎりす」さんがそれ以前より使っていて,まぎらわしいとお思いでしたら,
変更します。ご連絡ください。


戻る