Thread Rating:
  • 393 Vote(s) - 2.84 Average
  • 1
  • 2
  • 3
  • 4
  • 5
フォーカスを受け付けないボタン押下時に、別テキストフィールドの入力確定を行う
05-20-2013, 01:22 PM,
#6
RE: フォーカスを受け付けないボタン押下時に、別テキストフィールドの入力確定を行う
フォーカスマネージャを取得する例、いろいろ参考になりました!

察するに、他にも様々な制約が絡んでいる場合の対策を検討されているのですね・・・
「テキストフィールドの入力確定」というのも自分が考えていたようなIMEの変換中などという単純なことではなさそうな感が・・・
(IMEの変換ならtakes-focus?=falseを設定したボタンでも押せば確定するようですし)

もしかすると、ボタンに takes-focus?=false を設定しているのは、Curlドキュメントの「テキスト コントロール内での選択」の
項にあるように、テキストフィールドからフォーカスを移動させないためでしょうか?
ボタンがフォーカスを受け付けない、ではなく、テキストフィールドからフォーカスを移動させられない、という事情であれば、
なにか特別な操作が必要になるのも納得です。


(かなりCurlを熟知されているようなので自分なんかの思いつきを書くのは釈迦に説法な感がありますが、以下スレッドタイトルを
 見て来た人向けに一応…)

自分が想定していたような、テキストフィールドからフォーカスを移動してもよく、IMEの変換を確定させるだけの単純なケース
でしたら、他のオブジェクトにフォーカスを移す方法が簡単で安全な方法な気がします。

takes-focus?=falseに設定されているボタンでも、マウスでクリックすればIMEの変換中でもテキストフィールドは入力確定
するようなので、とくに対策は必要なく、ショートカットキーで呼び出すプロシージャの中でボタンのActionイベントをキューへ
積む前に他のオブジェクトにフォーカス移すだけでよさそうですね。

具体的には、最初に挙げたソースの例でいうと、

|| コマンドボタンへフォーカスを移動する
{copy-button.become-active-from-traversal}

これを次のような感じに変えればよいかと

|| テキストフィールドの親(VBox等のグラフィックコンテナ)がフォーカスを
|| 得るようにリクエストして、テキストフィールドのフォーカスを外す
{src-tf.visual-parent.request-key-focus}

なにか適切でなさそうな所がありましたらご指摘頂けるとありがたいです。


Messages In This Thread
RE: フォーカスを受け付けないボタン押下時に、別テキストフィールドの入力確定を行う - by dyoshida - 05-20-2013, 01:22 PM
Forum Jump:


Users browsing this thread:
4 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('897')