我用TAB控件做出两个分页,每个分页都有一个文本框。请问如何能实现当点击其中一页时,另一页的文本框的内容清除掉?是否要用Onselchangetab函数实现?

解决方案 »

  1.   

    响应TCN_SELCHANGING消息就可以了。
      

  2.   

    ON_NOTIFY(TCN_SELCHANGING, IDC_TAB1, OnSelchangingTab1)void CDwdandlg::OnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult)  

    // TODO: Add your control notification handler code here 
    switch(m_tab.GetCurSel()) 

     
     
    }
    做你想做的事情
    *pResult = 0; 

     
     
      

  3.   

    也可以在某页的OnSetActive()中,得到点击对应页面时,再调用Sheet的指针来处理其他页面内容
      

  4.   

    你选其中一页的时候一定要 Hide 掉另一页,那你可以在另一页响应 WM_SHOWWINDOW 当 bShow=FALSE 的时候,将文本框的内容 SetDlgItemText(ID,NULL) 掉.
      

  5.   

    或者相应对应Sheet对话框的WM_SHOW消息,在里面清空内容
      

  6.   

    也可以定义该分页的全局指针XXX YE1=NULL;在它的构造函数中,让它指向this,在别的分页用它时
    extern XXX YE1;
    剩下的你想干什么不行?