01-20-2012, 10:46 PM,
|
|||||
|
|||||
ハイライト表示時のTextFieldを書き換える
下記URL
http://developers.curlap.com/faq/48-faq-...36-19.html を参考に、次のコードにて全角および半角のカンマを入力できないようなTextFieldを作成しましたが、 ハイライト表示の状態でTextFieldの値を書き換えると、文字列が入れ替わらず、追記になってしまいますが、 これを回避する方法はありますか? 操作手順 1.全角で「123,456」を入力すると、値には「123456」が入ります 2.次に、123456の後ろに「789」を入力すると、値には「123456789」が入ります 3.次に、「123456789」をハイライト表示させたあと、「987,654」を入力すると、 期待する動作は「987654」ですが、実際は「123456789987654」になってしまいます。 Code: {curl 8.0 applet} |
|||||
01-23-2012, 02:47 PM,
|
|||||
|
|||||
RE: ハイライト表示時のTextFieldを書き換える
わざと set tf.value = valuestr & str をしているでしょう。
というと、「今のvalueと追加して」の意味ですね。 代わりに {tf.replace-selection-with-string str} 的な何かをした方がいいではないでしょうか。 |
|||||
01-23-2012, 05:39 PM,
|
|||||
|
|||||
RE: ハイライト表示時のTextFieldを書き換える
どうもありがとうございます。
お見込みの通り、これをやらないと追記できなくて強制的にValueChangedイベントを発行してたのですが、 CompositionResultEventを次のように書き換えたら、全角スペースが 1文字しか入らず、かつハイライト表示になってしまいました。 {TextField input-method-focus-behavior = "activate"} これだけだとハイライト表示されずに全角スペースが入ってくれるのですが何かよい方法はあるのでしょうか? Code: {on e:CompositionResultEvent do |
|||||
01-23-2012, 06:27 PM,
|
|||||
|
|||||
RE: ハイライト表示時のTextFieldを書き換える
replace-selection-with-string してから select-nothing をすればハイライトじゃなくなります。
|
|||||
01-24-2012, 09:13 AM,
|
|||||
|
|||||
RE: ハイライト表示時のTextFieldを書き換える
期待した動作になりました。
どうもありがとうございました。 |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread:
2 Guest(s)
2 Guest(s)