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.