Come imposto lo stato attivo su CEdit nella finestra di dialogo figlio che si trova all'interno di TabCtrl?

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

Domanda

Ho una finestra di dialogo (CDialog) con CTabCtrl disegnato dal proprietario al suo interno.I contenuti delle schede sono finestre di dialogo secondarie (una per ciascuna scheda).C'è un CEdit in ogni scheda.Quando l'utente fa clic su una scheda, nascondo tutte le finestre di dialogo secondarie utilizzando ShowWindow (SW_HIDE) e ne mostro una selezionata.

Il problema è che quando ho, ad esempio, due schede, fai clic all'interno di una casella di modifica nella prima scheda e poi passa alla seconda, lo stato attivo dell'input rimane su quella casella di modifica (invisibile) nella prima scheda, indipendentemente da ciò che hodo nel mio codice (ho provato a chiamare tutti i metodi che potenzialmente possono mettere a fuoco, non è cambiato nulla).

È stato utile?

Soluzione

Prova questo:

GetDlgItem(IDC_YOURCONTROL)->SetFocus();

O la variabile correlata collegata al controllo:

m_YOURCONTROLControl.SetFocus();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top