トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     TextFieldのフォーカス
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Kamaishi
Åê¹ÆNo.8905
投稿日時: 2004-7-6 18:16
新米
居住地: 神奈川県
投稿: 12
使用環境:
Pro + IE6
TextFieldのフォーカス
いつもお世話になります。
TextFieldのフォーカス(キャレット?)制御について、知恵をお貸しください。

TextFieldを、

Selection.setFocus();
TextField.selectable = false;
TextField.type = "dynamic";

で、強制的にフォーカスを外して、以降編集不可にしたのですが、上記の処理をする直前のキャレットの位置から、全角が打ててしまいます。
入力を決定するとTextFieldには反映されないのですが、全角文字が表示されること自体が気持ち悪いので、非表示にしたいのです。
なにか実現する方法はありますでしょうか?

念のため、
Selection.getCaretIndex();
でキャレットの位置を取ってみたのですが、-1が返ってきました。
これは単にキャレットが表示されていないからですよね?
森 なおき
Åê¹ÆNo.8935
投稿日時: 2004-7-7 16:50
モデレータ
居住地: 福岡(心は大阪)
投稿: 527
使用環境:
:MacOSX10.6.8
:FlashCS5.5
Re: TextFieldのフォーカス
なおきです。
どういう状況でそういう処理が必要なのかよくわからないので
最適な処置かどうかわからないですが、リスナーオブジェクトを
設定して、キーイベントを監視したらどうでしょう?


----------------
な お き
Dev.:MacOSX+FlashCS5.5
View:---

Kamaishi
Åê¹ÆNo.8938
投稿日時: 2004-7-7 17:33
新米
居住地: 神奈川県
投稿: 12
使用環境:
Pro + IE6
Re: TextFieldのフォーカス
すいません、説明不足でした。

実現したいことは、テキストフィールドの編集可否をスクリプトで制御したいのです。
あるボタンを押したら、テキストフィールドは編集できなくなるというイメージです。

それで、入力モードが全角になっていると、画面に変換前の全角文字が表示されてしまうので、それを非表示にできないかと考えています。


1.以下のようにテキストフィールドに文字を入力する。
 【aaaaaaaaa|】※最後の | はキャレットです。

2.以下のスクリプトで強制的にフォーカスを外し、選択不可にして、以降入力できなくする。
 Selection.setFocus(テキストフィールド以外);
 TextField.selectable = false;
 TextField.type = "dynamic";

 この時点でキャレットは非表示になります。
 【aaaaaaaaa】
 テキストフィールド上でクリックしても、キャレットは表示されません。

3.入力モードが半角の場合、キーを押しても画面にでないのですが、全角の場合、1のキャレットがあった場所から、文字が画面に出てしまいます。
 【aaaaaaaaaああああ】
 ああああ を確定してもテキストフィールドには反映されません。
 【aaaaaaaaa】

この ああああ(変換前) を画面に出したくないのです。

キーイベントで監視すると、全角の入力(確定前のアンダーラインがついた状態)を非表示にすることができるのでしょうか?
ヘルプを探したのですが、全角を判断する方法がわかりませんでした。すいません。


Flashだけでは解決できないような問題なのですかね?


分かりにくくて申し訳ないのですが、なにか制御方法があればご教授願います。
森 なおき
Åê¹ÆNo.8940
投稿日時: 2004-7-7 18:08
モデレータ
居住地: 福岡(心は大阪)
投稿: 527
使用環境:
:MacOSX10.6.8
:FlashCS5.5
Re: TextFieldのフォーカス
なおきです。

難しく考えずに、単純にキーが押されているかどうかの
判定だけで何とかならないでしょうか?
ちなみに全角の判定は何度か話題になってるので
検索すれば出てくると思いますよ。

と、書いておきながら、あまり実装のことは考えていません(^^;
後ほど落ち着いたらサンプルできれば作りますね。

あと、回避方法としては、画面の外にテキストフィールドを
作成して、そちらにフォーカスを移すとかで対処できませんかね?


----------------
な お き
Dev.:MacOSX+FlashCS5.5
View:---

Kamaishi
Åê¹ÆNo.8943
投稿日時: 2004-7-7 20:58
新米
居住地: 神奈川県
投稿: 12
使用環境:
Pro + IE6
Re: TextFieldのフォーカス
細かなアドバイスありがとうございました。
全角の件は、もういちど検索しなおしてみます。

テキストフィールドの件は、教えていただいた、
画面外のテキストフィールドにフォーカスを移す方法を
試してみます。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops