09-12-2012, 11:06 AM,
(This post was last modified: 09-12-2012, 11:08 AM by battiruno.)
|
|||||
|
|||||
KeyPressの制限
こんにちわ。
TextFieldなどのコントロールでKeyPressイベントを行っているのですが、 たとえば、TextField(以後TF)に何か入力してEnterを押したとします。 TFの処理内容は、TFの内容チェックと変換、最後にAfterを使って次のフォーカス場所にBecome-activeをしています 設定でEnterの動作はTabと同じ設定にしておりますので次のフォーカスに移動します。 通常ならそうなのですが、 TF1に入力し、Enterを押すところを連打します。 するとTF1→TF2→TF3とフォーカスが移るはずなのですが、その最後のBecome-activeが処理されて あたかもTF3からTF2へフォーカスが巻き戻ったかのように見えてしまいます。 初めはAfterが悪さしているのかと思いAfterを外し、試験的に処理内にSleepを入れ疑似的に処理を重くして 実験してみたのですが、やはり巻き戻ってしまします。 自分の考えでは、Enterを押した処理中は他のキー操作を受け付けないようにしたいのですが そのようなことはできるのでしょうか? もしくは、巻き戻りを解消する方法はありますでしょうか? |
|||||
09-18-2012, 05:41 PM,
|
|||||
|
|||||
RE: KeyPressの制限
サンプルがあるでしょうか?どんな処理があって、何に影響されているか、コードがあると分かりやすいと思います。 |
|||||
09-26-2012, 06:25 PM,
|
|||||
|
|||||
RE: KeyPressの制限
heavybugtracker様>
ご返信頂いていたのに返事が遅れてしまい申し訳ありません。 サンプルは用意できなかったのですが、お聞きしたい事が大まかにまとまったので・・・ ・methodが完結するまでキー入力を一切受け付けなくしたい。({after 0s do}も含める) ・上記が無理であれば、methodと{after 0s do}の間を限りなくゼロにしたい。 この2点は可能でしょうか?よろしくお願い致します。 |
|||||
10-02-2012, 08:37 PM,
|
|||||
|
|||||
RE: KeyPressの制限
回答が遅くなり、すみません。。。
シンプルですが、解決できるかもしれませんので、次の方法で試してみたらどうでしょうか? 1. keypress でEnter検出、Enterキーなら 2. {set TF.enabled = false} 3. {dispatch-events true} 3. 旧TF処理 4. {set TF.enabled = true} |
|||||
10-03-2012, 10:00 AM,
|
|||||
|
|||||
RE: KeyPressの制限
heavybugtracker様>
ご回答ありがとうございます。 提示して頂いた方法はまだ試した事がないので、組み込んでみたいと思います。 お忙しい中ありがとうございました。 また何かあれば、よろしくお願い致します。 |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread:
1 Guest(s)
1 Guest(s)