GetCurFocus of CTabCtrl not getting fired ?
Hello ,
I am facing problem when I try to get the selected tab of TabCtrl
Here is what I did
In a view
there are 2 list controls and a list box
all these controls are sublasses and one of theList Ctrl is the child
of the TabCtrl.
I have 2 problems
Since these 2 listcontrols can talk each other ,but when I try to get
the selected tab index I get error of -1.
ClistCtrl2 is the child of CTabCtrl (child of CFormView);
CListCtrl1 is the child of Formview
Here is the code ! Can somebody help me
in CFormView :: OnInitialUpdate()
{
CTab1 *tab1 = new CTab1(); //CTab1 and CTab2 are CDialog derived
classed
CTab2 *tab2 = new CTab2();
//create
tab1->Create(IDD_DIALOG1, &m_CtrlTab);
tab2->Create(IDD_DIALOG2, &m_CtrlTab);
//Assign the CDilaog array of pointers
m_tabPages[0]= tab1;
m_tabPages[1]= tab2;
tab1->ShowWindow(SW_HIDE);
tab2->ShowWindow(SW_SHOW);
CRect rectArea;
m_CtrlTab.GetWindowRect(rectArea);
tab1->SetWindowPos ( NULL, 9, 35, rectArea.Width() - 18,
rectArea.Height() - 44, SWP_NOZORDER | SWP_NOACTIVATE );
tab2->SetWindowPos ( NULL, 9, 35, rectArea.Width() - 18,
rectArea.Height() - 44, SWP_NOZORDER | SWP_NOACTIVATE );
}
void CFormView1::OnTcnSelchangeTabCtrl(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
if(m_tabCurrent != m_CtrlTab.GetCurSel())
{
m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE);
m_tabCurrent=m_CtrlTab.GetCurFocus();
m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
m_tabPages[m_tabCurrent]->SetFocus();
*pResult = 0;
}