黑夜的狼

沮丧吗,那就是一种无病呻吟!留恋它就是一种高度近视!目光应该放得更远一点! 别不想飞,只是要一步跨过太平洋!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
代码
CMyTabCtrl::CMyTabCtrl()
{
 m_tabPages[
0]=new CTabOne;
 m_tabPages[
1]=new CTabTwo;
 m_tabPages[
2]=new CTabThree;

 m_nNumberOfPages
=3;
}

CMyTabCtrl::
~CMyTabCtrl()
{
 
for(int nCount=0; nCount < m_nNumberOfPages; nCount++){
  delete m_tabPages[nCount];
 }
}

void CMyTabCtrl::Init()
{
 m_tabCurrent
=0;

 m_tabPages[
0]->Create(IDD_TAB_ONE, this);
 m_tabPages[
1]->Create(IDD_TAB_TWO, this);
 m_tabPages[
2]->Create(IDD_TAB_THREE, this);

 m_tabPages[
0]->ShowWindow(SW_SHOW);
 m_tabPages[
1]->ShowWindow(SW_HIDE);
 m_tabPages[
2]->ShowWindow(SW_HIDE);

 SetRectangle();
}

void CMyTabCtrl::SetRectangle()
{
 CRect tabRect, itemRect;
 
int nX, nY, nXc, nYc;

 GetClientRect(
&tabRect);
 GetItemRect(
0&itemRect);

 nX
=itemRect.left;
 nY
=itemRect.bottom+1;
 nXc
=tabRect.right-itemRect.left-1;
 nYc
=tabRect.bottom-nY-1;

 m_tabPages[
0]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_SHOWWINDOW);
 
for(int nCount=1; nCount < m_nNumberOfPages; nCount++){
  m_tabPages[nCount]
->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);
 }
}


//////////////////////////////////////////////////////
// CMyTabCtrl message handlers

void CMyTabCtrl::OnLButtonDown(UINT nFlags, CPoint point) 
{
 CTabCtrl::OnLButtonDown(nFlags, point);

 
if(m_tabCurrent != GetCurFocus()){
  m_tabPages[m_tabCurrent]
->ShowWindow(SW_HIDE);
  m_tabCurrent
=GetCurFocus();
  m_tabPages[m_tabCurrent]
->ShowWindow(SW_SHOW);
  m_tabPages[m_tabCurrent]
->SetFocus();
 }
}

 

posted on 2010-04-07 16:39  anncesky  阅读(263)  评论(0)    收藏  举报