I have two MFC applications, one application acts as a parent which creates the dialog (as a child) dynamically using second application. Second application is the MFC extension dll. I have to move focus in between these two dialogs (parent and child) using tab. For that purpose I used the SetWindowPos() API. Following is the code in the child dialog. m_Btn_CheckOne.SetWindowPos(NULL, 20, 20, 60, 25, 0); m_Btn_CheckTwo.SetWindowPos(&m_Btn_CheckOne, 20, 80, 60, 25, 0); m_Btn_CheckThree.SetWindowPos(&m_Btn_CheckTwo, 20, 140, 60, 25, 0); ((CmainDlg*)GetParent())->m_Btn_FromMainDlg.SetWindowPos(m_Btn_CheckThree, 20, 140, 60, 25, 0); m_Btn_FromMainDlg is the button from the main dialog. And I expect that once I press tab on the button m_Btn_CheckThree focus should get shifted to the m_Btn_FromMainDlg button in the main dialog. But which is not occurring Focus is get circulated only in child dialog. Can anybody help me out.
Hello Shabbir, I have the another application with same scenario. In that application child dialog is from the same application instead of from another MFC Extension DLL application. Above code is working fine in above mentioned application. So I wondered how is it?
When you have 2 different set of dialogs the tab order can be jumbled for various reasons and so it is best to be done manually
One of them is your child dialog does not have the Tab order correctly set to and other could be that tab order of your button and your next child window is not in order.