質問 |
||
| 質問者:akaryu-ryu | 子ダイアログのコントロールにフォーカス(VC++2005) | |
|---|---|---|
困り度:
|
お世話になります。 Visual Studio 2005でVC++の開発をしております。 ダイアログを2つ用意して、一つはstyleを「ポップアップ」に、 もう一つは「子」にしてます。 親ダイアログ内にタブをセットし、その上に子を乗せる処理を行っていて 親のダイアログのボタンイベントから子のダイアログのコントロールにフォーカスを 当てたいのですが、どのようにしたらよろしいのでしょうか? 親ダイアログ内では、 (子ダイアログ).Create(子ダイアログクラス, this); で生成して MoveWindowやShowWindowで位置・表示の設定を行っています。 親から子ダイアログ内のコントロールの入力チェックを行おうと思い、 未入力判定まではできたのですが どうしてもSetFocus()でフォーカスが当たりません。 どなたかご教授していただけますでしょうか? |
|
質問投稿日時:08/04/07 11:40 質問番号:3929100 |
||
回答良回答20pt |
|
| 回答者:Wr5 | >どうしてもSetFocus()でフォーカスが当たりません。 はどこで実行しているのでしょうか? ダイアログ上のコントロールのフォーカスを、ダイアログを開くときに設定する場合、WM_INITDIALOGに対してちゃんと反応する必要がありますが… http://msdn2.microsoft.com/ja-jp/library/6zxw3b4a(VS.80).aspx http://msdn2.microsoft.com/ja-jp/library/fwz35s59(VS.80).aspx 戻り値のところに記述されています。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/04/08 00:51 回答番号:No.1 |
|
| この回答への補足 | ご回答ありがとうございます。 SetFocus()は、親ダイアログのボタンが押された時に走らせております。 親ダイアログのボタン押下時に子ダイアログ内のコントロールの入力チェックを行い、 エラーの場合にフォーカスを当てようと思ってます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |