dポイントプレゼントキャンペーン実施中!

お世話になります。
Visual Studio 2005でVC++の開発をしております。
ダイアログを2つ用意して、一つはstyleを「ポップアップ」に、
もう一つは「子」にしてます。
親ダイアログ内にタブをセットし、その上に子を乗せる処理を行っていて
親のダイアログのボタンイベントから子のダイアログのコントロールにフォーカスを
当てたいのですが、どのようにしたらよろしいのでしょうか?

親ダイアログ内では、

(子ダイアログ).Create(子ダイアログクラス, this);

で生成して
MoveWindowやShowWindowで位置・表示の設定を行っています。

親から子ダイアログ内のコントロールの入力チェックを行おうと思い、
未入力判定まではできたのですが
どうしてもSetFocus()でフォーカスが当たりません。

どなたかご教授していただけますでしょうか?

A 回答 (1件)

>どうしてもSetFocus()でフォーカスが当たりません。


はどこで実行しているのでしょうか?

ダイアログ上のコントロールのフォーカスを、ダイアログを開くときに設定する場合、WM_INITDIALOGに対してちゃんと反応する必要がありますが…

http://msdn2.microsoft.com/ja-jp/library/6zxw3b4 …
http://msdn2.microsoft.com/ja-jp/library/fwz35s5 …
戻り値のところに記述されています。

この回答への補足

ご回答ありがとうございます。
SetFocus()は、親ダイアログのボタンが押された時に走らせております。
親ダイアログのボタン押下時に子ダイアログ内のコントロールの入力チェックを行い、
エラーの場合にフォーカスを当てようと思ってます。

補足日時:2008/04/11 11:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!