過去の桐井戸端BBS (桐ver.9)
21538 フォームを開いたらテキストボックスにカーソルがきているようにしたい。 つかまさ 2003/07/23-10:21
寒いくらいの夏ですが、こんな夏もありなのでしょう。

どなたか教えて下さい。

フォームを開いたら
すでに任意のテキストボックスにカーソルが立っているように
設定するのはどうすればよいのでしょう?

詳しく説明しますと、
フォームのヘッダ部に編集対象表の項目にない
任意のテキストボックスを作りました。
そこに入力されたものは共通変数になり、
ボタンをクリックすると
その変数をもとに編集対象表が絞り込まれるようになっています。

ただ、フォームを開けた時、
カーソルがどうしてもフォーム明細部の
編集対象表の項目にあるテキストボックスにいっているので
それをヘッダ部のテキストボックスにいっているようにしたいのです。

欲をいえば、カーソルが最初から
入力モード(黒い面ではなく|こんな点滅している縦線)に
なって表示されていると、ベストなのですが・・・。

できるような気がするのですが、
どうすればいいのかわからないので
どなたか教えて下さい。


21551 Re:フォームを開いたらテキストボックスにカーソルがきているようにしたい。 悲しげ 2003/07/23-18:41
記事番号21538へのコメント
どもっ、つかまささん、
ひとつの例です。

1.ワークスペース(枠外)に仮称「b開始時」なるコマンドボタンを設けます。
機能名 同パラ
訂正  "当該ヘッダ部テキストオブジェクト名"
     ↑
    [▼]クリックで選べます。

2.「オプション」タブから「開始時(S)」の[▼]クリックで上記「b開始時」ボタンを指定します。

※なお、そのためには「詳細プロパティを使用する」にチェックが入っている必要があります。


他にはkevを設定して、「フォーム開始」イベントで

 メソッド呼び出し @t当該ヘッダ部某オブジェクト名.フォーカス設定()
 メソッド呼び出し @フォーム.更新モード設定(2)

のように記述する方法もあります。

21552 Re:フォームを開いたらテキストボックスにカーソルがきているようにしたい。 2003/07/23-18:46
記事番号21538へのコメント
ちょっと前に掲載されておりましたが
参考にしてみて下さい
http://www.fuku3.com/~habata/kbbs/kakov8/15451.htm

21567 Re:フォームを開いたらテキストボックスにカーソルがきているようにしたい。 つかまさ 2003/07/24-12:59
記事番号21551へのコメント
谷さん、記事番号15451はここに載せる前にやったのですが、
うまくいかなかったんです。

そして悲しげさん、

>他にはkevを設定して、「フォーム開始」イベントで
>
> メソッド呼び出し @t当該ヘッダ部某オブジェクト名.フォーカス設定()
> メソッド呼び出し @フォーム.更新モード設定(2)
>
>のように記述する方法もあります。
で、試したところ、カーソルは行くのですが、
入力モードにはなりませんでした。

そして、
>1.ワークスペース(枠外)に仮称「b開始時」なるコマンドボタンを設けます。
>機能名 同パラ
>訂正  "当該ヘッダ部テキストオブジェクト名"
>     ↑
>    [▼]クリックで選べます。
>
>2.「オプション」タブから「開始時(S)」の[▼]クリックで上記「b開始時」
>ボタンを指定します。
で、試したところ、コマンドボタンは押された状態で開かれるのですが、
以前と変わらずに
フォーム明細部の表の項目にカーソルがあるままでした。
さらに「オプション」タブから「開始時(S)」の[▼]クリックで上記ボタンを
指定しなくてもボタンは押された状態、
いくつボタンを作りかえても、機能名に訂正を入れると
「オプション」タブ〜〜〜を指定しようがしまいが関係なく
ボタンが押された状態、
かつ、カーソルが任意の場所に行かない、
なおかつ、入力状態にならないというありさまです。

何か、僕の桐だけどこかの設定が違うのでしょうか?

もちろん、
□  操作ナビを消去する
□  詳細プロパティを使用する
には、両方ともチェックが入ってます。

21568 Re:フォームを開いたらテキストボックスにカーソルがきているようにしたい。 うにん 2003/07/24-15:25
記事番号21567へのコメント

>で、試したところ、カーソルは行くのですが、
>入力モードにはなりませんでした。

終端行にいる場合にそうなりますが関係ないかな?

21569 Re:フォームを開いたらテキストボックスにカーソルがきているようにしたい。 悲しげ 2003/07/24-16:50
記事番号21567へのコメント
う〜む

>フォームのヘッダ部に編集対象表の項目にない
>任意のテキストボックスを作りました。
>そこに入力されたものは共通変数になり、

ここの意味が少々図りかねます。
このヘッダ部テキストのソースは何でしょう?
それと「表示」タブにおける「フォーカス設定可能」の設定は?

ひょっとしてヘッダ部の当該オブジェクトは「テキスト」じゃなくて「グループ項目」になってるとか?

21576 出来ました! つかまさ 2003/07/25-09:19
記事番号21568へのコメント
うにんさん、すごい!

>終端行にいる場合にそうなりますが関係ないかな?

まさにその通りなんです。
普通にフォームを開くと、
明細部には1行目のデータが表示されますが、
実際に使う者がまぎらわしく感じるというので、
開始時のイベントで、終端にジャンプしていたのです。

それをはずしてやると、
見事に思った通り、任意のテキストボックスに
入力モードでカーソルが点滅した状態で
開くことができました。

大変お騒がせいたしました。
悲しげさん、うにんさん、谷さん、
どうもありがとうございました。



21577 編集対象表の編集モードの影響 ONnoji 2003/07/25-12:14
記事番号21576へのコメント
つかまささん、こんにちは。

>>終端行にいる場合にそうなりますが関係ないかな?
>まさにその通りなんです。

すでに解決されたようですが、余談めいた話を書かせていただきます。(^^ゞ

話題になった過去ログ
(http://www.fuku3.com/~habata/kbbs/kakov8/15451.htm)
の回答者でったので、興味深く拝見していました。

ソースに変数を指定したテキストボックスは、
編集対象表のあるフォームでは、編集モードの影響を受けてしまいますね。

私もこれには閉口していました。
そうかといって今まで名案も浮かばなかったのですが…

これは思いつきで試していませんが、
別途に NULLフォームのサブフォームを用意して、
入力用のテキストボックスを並べておけば、
NULLフォーム ですから編集モードは訂正か表示しかないでしょうから、
便利だろうと思います。

おそらく開始時実行コマンドボタンで、
サブフォーム側のテキストボックスへフォーカスを移すことも可能だろうと思います。

つまり、伝票形式または表形式のフォームはそのままで、
フッタ部またはヘッダ部を入力域と見立てて、
フッタ部またはヘッダ部にNULLフォームのサブフォームを用意するという格好です。

これは試していないのでタラレバの話ですが、
編集対象表の編集モードの影響を受けなくて済むので応用が利きそうです。

タラレバの話ですいません。(@^^)/~~~
21578 ちょっと試してみましたが ONnoji 2003/07/25-12:39
記事番号21577へのコメント
ONnojiさん
>おそらく開始時実行コマンドボタンで、
>サブフォーム側のテキストボックスへフォーカスを移すことも可能だろうと思いま
>す。

ちょっと試してみましたが、
メインフォームとサブフォームの両方とも、
[開始時実行コマンドボタン]の指定は不要でした。

単に NULLフォームのサブフォームの[フォーム開始]イベントで、
[更新モード設定(2)]メソッドだけで、
サブフォームのテキストボックスが訂正になりキャレットが現れました。

なお、試したのは 桐ver.8 sp5 です。

他のバージョンの桐とspではどうなるか判りませんが…

ご報告まで…(@^^)/~~~

戻る