コントロールのキーフォーカスについて - 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: コントロールのキーフォーカスについて (/showthread.php?tid=830) |
コントロールのキーフォーカスについて - umemura - 01-23-2013 Dialog.controls でループさせ、対象のコントロールに、 キーフォーカスがあるかどうかを確かめたいですのですが、 いくつか問題があります。 ■has-key-focus? が想定する値を返却しない TextField の場合: キーフォーカスを持っている(カレットが点滅している)状態にもかかわらず、 TextField.has-key-focus? は false となっている。 ただし、TextField.ui-object を (TextFieldUI にキャストする必要あり) TextFieldUI.has-key-focus? を参照すると true が取得できる。 これは少し奇妙に思えます。 なぜ コントロール自体の has-key-focus? がui-object の値と異なるのでしょうか。 ■ControlUI に、 has-key-focus? のgetter がない 上記の問題と絡みますが、ControlUI に、 has-key-focus? のgetter がないため、 キーフォーカスの有無を確認するコントロールの型によって、 個別のUIクラスに ui-object をキャストする必要があり、 共通的なコードを書くことがでない。 あるコントロールにキーボードフォーカスがあるかどうかを調べる簡単な方法があれば教えてください。 |