• ベストアンサー

requestFocusについて

他人の作ったプログラムを見ていると requestFocus(); というのがよく出てくるんですが、どういう操作をしているのかがよく分かりません。 意味は「フォーカスを要求」という感じで、 フォーカスは「焦点」だそうですが、焦点を合わせるってどういうことなのでしょうか? 例えば、キーイベントに関するところで使う requestFocusはどういうことを表しているのでしょうか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

ここで言う「フォーカス」というのは、簡単に言うとウィンドウ内のどのコンポーネント(テキストボックスとかボタンとか)にカーソルがあるかということです。 例えば、テキストボックスAにカーソルがあって、キーを押せばそこに文字が入力できる状態になっているとき、「Aにフォーカスがある」という言い方をします。 また、テキストボックスAからテキストボックスBにカーソルを移してBに入力できる状態にすることを、「AからBにフォーカスを移す」といいます。 カーソルはテキストボックス内において文字単位で着目点を表しますが、フォーカスはウィンドウ内においてコンポーネント単位で着目点を表します。

exprosion
質問者

お礼

とても分かりやすい回答をありがとうございます。 やっと謎が解けたように思います。 初期化メソッドで(htmlに貼り付けられている)アプレットに対してrequestFocusを使うことによって、 アプレットをクリックしなくてもキー入力ができるようにしているということなんですね。覚えておきたいと思います。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jun-1
  • ベストアンサー率29% (18/61)
回答No.1

APIドキュメントより、 > このコンポーネントが入力フォーカスを取得すること>を要求します。この要求が許可されるには、画面上で >コンポーネントが可視であることが必要です。 ということで、例えば、あるキーが押されたら、特定の TextFieldにフォーカスをあてる、いったように使います。

exprosion
質問者

お礼

なるほど。 アドバイスありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WM_MOUSEWHEELをフォーカスが別ウィンドウの時でも検出したい

    WM_MOUSEWHEELをフォーカスが別ウィンドウの時でも検出したい! 現在VC++2005でWINAPIベースでマウス操作を取得するプログラムを作っています。 ホイール操作やマウスの左右クリックを検出しようとしていますが、 しかしWinAPIではWM_MOUSEWHEELに限らずマウスのクリックとかホイール操作を検出するには フォーカスがそのプログラムのウィンドウにないとダメでした。 私のプログラムではフォーカスがそのウィンドウにない時でも取得したいのですが、 そのようなことを行うことは可能なのでしょうか?

  • 光学式カメラのピントは何故、自動で合うのでしょうか?

    皆様 教えて下さい。 常々疑問に思っていたのですが、カメラのオートフォーカスでピントが合う理屈が分かりません。 何故、機械的は焦点が合っているかどうか判断出来るのでしょうか? デジタルで有ればプログラム的な判断で修正出来るのかな、とも思うのですが… 何とも馬鹿げた質問かとは思いますが、教えて頂ければ幸いです。 宜しくお願い申し上げます。

  • FocusLostでイベント処理を中断させたい

    TextFieldでフォーカスを失った時に 入力値をチェックするプログラムがあります。 入力値が不正な場合、メッセージを表示します。 また、終了ボタンで終了するか確認するメッセージを 表示します。 このとき、TextFieldに不正な値を入力し、 終了ボタンを選択するとメッセージが2回表示されます。 TextFieldのFocusAdapterのFocusLost処理により、 他のイベント処理をさせないようにしたいのですが、 戻り値がvoidということもあり、 制御でなきないのでしょうか? よい方法はありますか? キーイベントとマウスイベントで フォーカスのあるコンポーネントを保持し、 変更されたら入力値チェックを行う。 と考えてみましたが、何か問題が起きてしまいそうで。 よろしくお願いします。

  • Kマウントで24mmのレンズ

    18-135mmのキットレンズで主に街撮りをしてたんですが、撮りたいと思う情景をそのまま切り取る感じで撮るとたいてい焦点距離24mmだったんです。キットレンズの質感描写に少々不満を感じてたのもあって焦点距離24mmの単焦点を購入しようと思ったんですが、PENTAXの現行製品で24mmの単焦点というのは無いんですね。こんな自分にKマウントで24mmの焦点距離で撮影可能なレンズ(ズームやマニュアルフォーカスレンズも含めて)でこれは良いというものを教えていただけませんでしょうか。よろしくお願いいたします。

  • 彼氏の言動・・・ショックです

    最初はたわいもないやりとりでした。 「励まして」ってちょっと可愛い感じのニュアンスで甘えて メールしたら彼氏に無視されました。 無視した理由を聞くと「して」と言われると したくなくなったからだそうです。 「俺はワガママな性格なんだよね。自分の思い通りにならないと 嫌なんだ。自分のしたいことしたいし、 他人から要求されたものも自分がしたくないならしない。」 と言われました。 ただ励まして・・・と言っただけなのに。 そんなに悪いことを要求しましたか? あと私のことを「他人」扱いされたのにも ショッキングです。

  • デジイチで花火をとる方法

    フォーカスはマニュアル、焦点距離は換算70mm、F13.0、ISO100 バルブシャッターで、10秒ぐらいでしょうか? 本を見てもよく分かりません。 フィルムだったら、露光しっぱなしでレンズの前に黒い板を当てて、 花火が上がったら板をどけてとかでいいと思うのですが、 デジタルは長時間露光に弱いそうなので・・・・ よろしくお教えください

  • 絵の焦点について

    絵の焦点について 先日鉛筆で書いた絵を先生に言われたのですが、焦点が全てにあっているとのことでした。 普通はどこかに焦点のある絵を書く人が多いそうですが、私の場合焦点が全てにあっているそうです。 時間の関係で詳しくその話を聞くことが出来なかったので、これがどういう意味なのかが気になっています。こういう事例を聞いたことがあれば教えてください。 また、自分では普通だと思っていましたが、そういえば人が見えている風景とどうやら違う風に見えていることがあります。 これって病気なのでしょうか?

  • スラッシュを固定表示したまま年月日をテキストボックスに入力できるようにするには

    今小さなプログラムを作っているところです。 テキストボックスにフォーカスが当たると、" / / "というように2桁の間を取ってスラッシュが表示され、そのまま例えば「040330」と数字を入力すると、フォーカスが外れたときに「2004/03/30」というように年月日表示となって出てくる、というふうにしたいのですが。 "040330"⇒"2004/03/30"の変換は文字列操作で何とかできそうですが、「キー入力中もスラッシュを表示させたまま、連続して6桁の数字を入力できるようにする」というのがどうしても分かりません。(^^;

  • コントロールでのフォーカスの取得

    WNDOWSXP + VC++2010Express + SDKです。VC++ExpressなのでMFCなどは使えません。 ウィンドウのフォーカスの取得方法について質問します。 メインウィンドウにコントロールを3つ貼り付けます。 エディットコントロール2つと、自分で作成したコントロールが1つです。 自分で作成したコントロールのウィンドウプロシージャは仮に↓こんなものだとします。 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { if(message==WM_KEYDOWN) { if(wParam=='A'){ MessageBox(NULL,_T("A"),_T("KEYDOWN"),NULL); } return 0; } return DefWindowProc(hWnd, message, wParam, lParam); } プログラムを起動し、エディットコントロールAをクリックすると エディットコントロールAにフォーカスが移動します。 キーボードのAボタンを押下すると、エディットコントロールAに「a」と入力されます。 エディットコントロールB、自分で作成したコントロールは無反応です。 エディットコントロールBをクリックすると、エディットコントロールBにフォーカスが移動します。 キーボードのAボタンを押下すると、エディットコントロールBに「a」と入力されます。 エディットコントロールA、自分で作成したコントロールは無反応です。 次に、自分で作成したコントロールをクリックした場合、 フォーカスはエディットコントロールBにあります。キーイベントなども エディットコントロールBのみが反応します。 ここで、自分で作成したコントロールをクリックした場合に 自分で作成したコントロールがフォーカスを取得し、 キーイベントなどを独占的に受け取れるようにしたいのですが、方法がわかりません。 どなたか方法をご存知の方がいらっしゃいましたら、ご教授いただけないでしょうか。

  • 教育に関する分かり易い英訳を教えてください

    A somewhat weaker claim is that, even if such a focus may not be absolutely necessary, it may be part of a more efficient language learning experience in that it can speed up natural acquisition processes. このfocusは「形式への焦点化」という意味のようです。 よろしくお願いいたします

このQ&Aのポイント
  • カラーインクが不足しており、交換しても印刷ができない状態です。
  • オレンジ色の点灯が消えないため、印刷ができません。
  • EPSON社製品のEW-052Aカラーインク充填で印刷ができないトラブルが発生しました。
回答を見る