KeyPressの制限 - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: KeyPressの制限 (/showthread.php?tid=624) |
KeyPressの制限 - battiruno - 09-12-2012 こんにちわ。 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を押した処理中は他のキー操作を受け付けないようにしたいのですが そのようなことはできるのでしょうか? もしくは、巻き戻りを解消する方法はありますでしょうか? RE: KeyPressの制限 - heavybugtracker - 09-18-2012 サンプルがあるでしょうか?どんな処理があって、何に影響されているか、コードがあると分かりやすいと思います。 RE: KeyPressの制限 - battiruno - 09-26-2012 heavybugtracker様> ご返信頂いていたのに返事が遅れてしまい申し訳ありません。 サンプルは用意できなかったのですが、お聞きしたい事が大まかにまとまったので・・・ ・methodが完結するまでキー入力を一切受け付けなくしたい。({after 0s do}も含める) ・上記が無理であれば、methodと{after 0s do}の間を限りなくゼロにしたい。 この2点は可能でしょうか?よろしくお願い致します。 RE: KeyPressの制限 - heavybugtracker - 10-02-2012 回答が遅くなり、すみません。。。 シンプルですが、解決できるかもしれませんので、次の方法で試してみたらどうでしょうか? 1. keypress でEnter検出、Enterキーなら 2. {set TF.enabled = false} 3. {dispatch-events true} 3. 旧TF処理 4. {set TF.enabled = true} RE: KeyPressの制限 - battiruno - 10-03-2012 heavybugtracker様> ご回答ありがとうございます。 提示して頂いた方法はまだ試した事がないので、組み込んでみたいと思います。 お忙しい中ありがとうございました。 また何かあれば、よろしくお願い致します。 |