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.