仙台,弁護士,小松亀一,法律事務所,宮城県,交通事故,債務整理,離婚,相続

旧TOPホーム > 桐・IT等 > 桐なんでも >    

フォーム入力項目の順番の決め方

平成16年10月19日:初稿 平成17年 1月 8日:更新
Q;桐についてちょっと教えていただきたいのですが、フォームからデータを入力する際、どの順番で入力するのかをきちんと数字などで指定することは出来るでしょうか。エンターを押した際に、カーソルをどの方向に移動させるのかという指定については読んだのですが、細かな指定方法が分かりません。本やヘルプファイルも見たのですが分かりませんでした。
この点、ご教示頂きたくお願いします。(隠れ桐ファンKIより)

A;隠れ桐ファンKIさん、ご質問有り難うございます。
桐HPBによる当事務所HPの桐についての質問第1号です。このようなご質問大歓迎です。
これは、幅田さんの井戸端BBSで過去ログを検索すると「桐V6フォームで入力項目の順番を決める方法は?」と言う表題で出てきますので、先ずこれをご参照下さい。

私の顧客簿フォームでご説明します。顧客簿一式サンプルファイルは、ここを右クリックして保存すれば取得できるはずです。顧客簿.tbl、顧客簿.wfm、Ziph.tbl等合計10ファイルを圧縮し、168kとなっております。
恐縮ながら、Ziph.tblには宮城県のデータしか入っておりません。何れ全国データの入ったものをアップします。

私の顧客簿フォームの定義画面は以下の通りです。


画面が小さく見づらくて恐縮ですが、
オブジェクトの属性→編集タブ→改行方向
がこの問題を解く鍵になります。

編集タブの改行方向にカーソルを置くと
編集で[Enter]キーを押したときのフォーカスの移動方向を選びます。
との説明文が、オブジェクトの属性の下端部分に表示されます。

この改行方向で「定義順」を選ぶと、[Enter]キーを押したときのフォーカスの移動方向が、定義順になります。

すると次に、では「定義順」はどのようにして定めるのかということが問題になり、これを定めるのが、「オブジェクトのリスト」になります。オブジェクトのリストは、フォームの定義画面で
書式→オブジェクトのリスト
をチェックすれば出てきます。

オブジェクトのリストは、最初にフォームを作成したときは、表定義での項目の順番に並んで作成されます。
オブジェクト名は、ラベルオブジェクトの場合は、頭に「a」が、テキストオブジェクトの場合は、頭に「t」がつきます。

その後、再定義で、オブジェクトを追加した場合も、ラベルの場合は「a」、テキストの場合は「t」、コマンドボタンの場合「b」をそれぞれ頭につけて表示法を統一した方がよいですね。

フォームを作成した後で入力項目の順番を変えたい場合、つまり、[Enter]キーを押したときのフォーカスの移動方向を変えるには、どうしたらよいかがご質問の最終目的です。

それには、先ず、オブジェクトのリストの順番を変える必要があります。
その方法は、
①この順番を変えるには変えたいオブジェクトをクリックして選択
②SHIFT+↑または、SHIFT+↓でオブジェクトを移動
③オブジェクトのリストの順番通り並べるためには、各オブジェクトの
編集タブ→改行方向
を「定義順
とする必要があります。

改行方向には、「右、下、左、上」等があり、この指定で目的を達する場合もありますが、各オブジェクトの位置関係により、「右、下、左、上」では、目的を達せない場合があり、そのためには、オブジェクトのリストで、各オブジェクトをご希望の順番に並べ替え、改行方向を「定義順」とする方法をお薦めします。

この改行方向の説明は、以下の桐ヘルプファイルにあります。

この画像は小さくて大変見づらいので、KIさんの桐を開いて、
桐ヘルプ→トピックの検索→目次→フォーム→詳細プロパティ→オブジェクトの属性→編集
表示をクリックすれば出てきますので、ご確認下さい。

ここで改行方向の意味が詳しく解説されていますので、ご参照下さい。

KIさんのご質問は、フォーム作成がやや慣れてきた初級者が最初にぶつかる壁です。
桐ヘルプをじっくりご覧になり、オブジェクトのリストをじっくり検討して頂ければ幸いです。

私自身、オブジェクトのリストに無頓着で、よく師匠の【多遊】さんに注意されており、今回、KIさんのご質問を受けて、顧客簿フォームのオブジェクトのリストを整理しました。
有り難うございました。

その後,KIさんからの再質問を受けて、解説を補充します。
各オブジェクトの
編集タブ→改行方向
を「(継承)
の意味の説明が不十分でした。

この場合の(継承)は、桐ヘルプによると
(継承)[フォーム]オブジェクトの[改行方向]属性の設定値に従って、フォーカ
スを移動します

と説明されています。

[フォーム]オブジェクトとは、フォーム全体オブジェクトで、以下のように表示されます。


ここでは改行方向「右」が選択されていますが、これがデフォルトのようです。

ここで「右」が選択されたまま各テキストオブジェクトの編集タブの改行方向で「(継承)」を選択すると、[フォーム]オブジェクトでの改行方向「右」となります。

KIさんのご質問では、テキストオブジェクト編集タブ改行方向の「(継承)」と「定義順」の違いがハッキリ認識されてませんでした。

テキストオブジェクト編集タブ改行方向は「(継承)」がデフォルトで、[フォーム]オブジェクトの[改行方向]は、「右」がデフォルトになっているため各デフォルト設定をそのまま使用すると「右」が原則になるようです。

そこでテキストオブジェクトが多数に渡る場合は、[フォーム]オブジェクトの[改行方向]を「右」から「定義順」に変更すれば、一発でオブジェクトのリストの定義順にカーソルが動くようになると思います。

こうしてみると桐のオブジェクトは結構きめ細かい配慮がされていることが判りますね。

以上:2,328文字

タイトル
お名前
email
ご感想
ご確認 上記内容で送信する(要チェック
※大変恐縮ながら具体的事件のメール相談は実施しておりません。

 


旧TOPホーム > 桐・IT等 > 桐なんでも > フォーム入力項目の順番の決め方