CFormViewでコントロールにフォーカスをあてるには

[戻る]
aya.s 2002/04/22(月) 15:26:58
お世話になります。
環境は、Windows2000 VC++6.0SP5 MFC使用です。

SDI,CFormViewでプロジェクトを作成しています。
ベースFormViewの上にFormViewをCreateし、ShowWindow関数の
SW_HIDE,SW_SHOWで画面の表示、非表示をしています。

画面が表示されたときにエディットボックスにフォーカスを当てたいのですが
うまく当たりません。
SetFocus(),SetSel(),SetActiveWindow()などを組み合わせたり
しているのですが、うまくいきません。
どなたか教えていただけないでしょうか。
よろしくお願いいたします。

Bun 2002/04/22(月) 15:34:34
PostMessage(WM_SETFOCUS)ぢゃダメ?

クリリン 2002/04/22(月) 16:29:50
どうも、クリリンです。

CWnd* pWnd = (CWnd*)GetDlgItem(※コントロールのID);
pWnd->SetFocus();
これで、任意のフォーカスに移動する事が可能です。

クリリン 2002/04/22(月) 16:31:33
ごめんなさい。MFCの方法でした。m(__)m

クリリン 2002/04/22(月) 16:35:06
あ、良かったんだ・・・
お詫びに、
こんな事も出来ますよ。

// 読取専用設定
CEdit* pEdit = (CEdit*)GetDlgItem(hogeID);
pEdit->SetReadOnly(TRUE);

// コントロールの非表示
pWnd = (CWnd*)GetDlgItem(hogeID);
pWnd->ShowWindow(SW_HIDE);

aya.s 2002/04/25(木) 11:15:33
[[解決]]
お返事が遅くなりました。
Bunさん、クリリンさん、回答ありがとうございました。
PostMessage(WM_SETFOCUS)
で解決することができました。
助かりました。ありがとうございました。

古いスレッドには追加発言できません。