過去の桐井戸端BBS (桐ver.8)
3409 Shift+Tabをファンクションキーに割り付けたいのですが 尾形 1999/11/19-18:16
桐V8なんですが
Shift+Tabを押すと1つ前の項目に戻りますよね。
この時2つのキーを押すのが面倒なので
あるファンクションキーを押せば、Shift+Tab
の機能を実行する、としたいのですが。

ケース (&仮想キーコード=122) /*F11*/
 &仮想キーコード=9,&フラグ=4
 メソッド呼び出し @フォーム.キー変換(0)
 &処理中止=0
ケース終了

以上のように書いたのですがなりません。
Shift+Tabのコードに変換して実行させる
というのは無理なのでしょうか?
3411 フォーカス移動制御の記述例 悲しげ 1999/11/19-19:19
記事番号3409へのコメント
どもっ、尾形さん
------------------------------------------------
変数宣言 文字列{&focus1,&focus2,&OBJs}
&OBJs="t左端,tあ,tい,tう,tえ,tお,・・・・,t右端"
メソッド呼び出し @フォーム.フォーカスオブジェクト取得(&focus1)
if(&focus<>"t左端") /*面倒なので左端では動かさない(^^;)*/
 &i=#対応番号(&OBJs,&focus1)-1\
 ,&focus2=#対応文字列(&OBJs,&i)
 メソッド呼び出し &focus2.フォーカス設定()
end
&処理中止=1
------------------------------------------------
説明は省略しますが、&処理中止=0を入れる必要はありません。
元々が0ですから。ここに1とかを入れるのは、そのキーの桐デフ
ォルトの機能を殺すためです。そうでないと、手続き内の処理と
桐デフォルトの機能が重複して発生してしまうことがあります。

ただ、個人的にはファンクションキーにキーダウンイベントを
割り付けるのは、あまりお勧めしません。桐本来の機能との住
み分けの関係でちょっと困ったことが起きないとは限らないよ
うな気がして(根拠なし)。

3413 Re:タブオーダを参照出来ないですよね? 尾形 1999/11/19-20:28
記事番号3411へのコメント
悲しげさん、早速の返事ありがとうございます。
だだ、この方法だと、&OBJsのオブジェクト名の所を書き換える必要
がありますよね。そこで、なんとか、shift+tabを割り付けられないか
と安易に考えたんですが・・・・
タブオーダの1つ上のオブジェクトを参照できないかとコマンドや
関数を探したのですが無理ですよね?

3414 タブオーダは判りませんが 悲しげ 1999/11/19-20:58
記事番号3413へのコメント
どもっ、尾形さん
私はタブオーダ順を設定した使い方をしたことがないので、タブオーダ
順を参照できないのかどうかはわかりません。
その代わり私の場合は、フォームのobjのリストで直接順番を入れ替え
て使っています。
この順番だと、ひょっとすると、メソッド呼び出しの「オブジェクト取
得」と「フォーカス設定検査」を、繰り返しを使ってうまく組み合せれ
ば、&OBJsの値を一般的に取り出すことができそうな気もしないでもあり
ません。
が、未試行です。(^^;)

戻る