SetFocus sur un champ dans une boite de dalogue Modale
Bonjour,
Code:
1 2 3 4 5 6
|
void CBaseDlg::OnClickedMyButton()
{
CFilleDlg dlgFille;
dlgFille.DoModal ();
} |
Dans la boite de dialogue Fille j'ai 2 editBox et je veux donner le focus au 2ème, mais je ne sais pas où je mets cette ligne ?
Code:
1 2
|
m_editChamp2.SetFocus(); |
Je ne peux pas la mettre avant " dlgFille.DoModal() car la fenêtre n'est pas encore crée et non plus après car elle sera déjà fermée !
Je ne peux pas le mettre aussi dans le constructeur de la classe fille ( à cet endroit là, la fenêtre n'est pas encore crée totalement ) !
Alors j'ai écrit la méthode OnInitDialog():
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
BOOL CFilleDlg ::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_editChamp2= (CEdit*)GetDlgItem(IDC_EDIT_CHAMP2);
m_editChamp2-> SetWindowTextA("abc");
m_editChamp2->SetFocus();
return TRUE; // retourne TRUE, sauf si vous avez défini le focus sur un contrôle
} |
quand j'ouvre la boite de dialogue fille, le champ2 est bien initialisé à "abc" mais il tient pas le focus !
Alors quelqu'un peut m'expliquer comment faire svp ?