Comment définir la focalisation sur CEDIT dans la boîte de dialogue enfant à l'intérieur de tabctrl?

StackOverflow https://stackoverflow.com/questions/5888883

Question

J'ai une boîte de dialogue (CDIALOG) avec CTABCTRL tirée par le propriétaire. Le contenu des onglets est une boîte de dialogue enfant (une pour chaque onglet). Il y a un cedit dans chaque onglet. Lorsque l'utilisateur clique sur un onglet, je cache toutes les boîtes de dialogue d'enfants à l'aide de ShowWindow (SW_HIDE) et en affichant une sélectionnée.

Le problème est que lorsque j'ai, par exemple, deux onglets, cliquez sur une boîte d'édition dans l'onglet First, puis passe à la deuxième place, l'entrée reste sur cette case (invisible) dans le premier onglet, peu importe ce que je fais dans mon Code (essayé d'appeler toutes les méthodes qui peuvent potentiellement définir la mise au point, rien n'a changé).

Était-ce utile?

La solution

Essaye ça:

GetDlgItem(IDC_YOURCONTROL)->SetFocus();

Ou la variable associée liée au contrôle:

m_YOURCONTROLControl.SetFocus();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top