tab控件

声明控件变量
CTabCtrl m_ctrl_tab;
声明两个对话口类
CReceipt m_dlgReceipt;
CRefund m_dlgRefund;


//添加选项卡
m_ctrl_tab.InsertItem(0, _T("收款"));
m_ctrl_tab.InsertItem(1, _T("退款"));
m_ctrl_tab.InsertItem(2, _T("交易查询"));
m_ctrl_tab.InsertItem(3, _T("统计查询"));

m_dlgReceipt.Create(IDD_RECEIPT, &m_ctrl_tab);
m_dlgRefund.Create(IDD_REFUND, &m_ctrl_tab);
m_dlgTradeQuery.Create(IDD_TRADEQUERY, &m_ctrl_tab);
m_dlgStatisticsQuery.Create(IDD_STATISTICSQUERY, &m_ctrl_tab);
m_dlgConfig.Create(IDD_CONFIG, &m_ctrl_tab);

//获得IDC_TABTEST客户区大小
CRect rect;
m_ctrl_tab.GetClientRect(&rect);
//this->ScreenToClient(&rect);//转换为对话框上的客户坐标

//调整子对话框在父窗口中的位置
rect.top += 22;

m_dlgReceipt.MoveWindow(&rect);
m_dlgRefund.MoveWindow(&rect);
m_dlgTradeQuery.MoveWindow(&rect);
m_dlgStatisticsQuery.MoveWindow(&rect);
m_dlgConfig.MoveWindow(&rect);

//分别设置隐藏和显示
m_dlgReceipt.ShowWindow(SW_SHOW);
m_dlgRefund.ShowWindow(SW_HIDE);
m_dlgTradeQuery.ShowWindow(SW_HIDE);
m_dlgStatisticsQuery.ShowWindow(SW_HIDE);
m_dlgConfig.ShowWindow(SW_HIDE);

m_ctrl_tab.SetCurSel(0);



void CDlgPayMain::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
int CurSel = m_ctrl_tab.GetCurSel();
switch (CurSel)
{
case 0:
m_dlgReceipt.ShowWindow(SW_SHOW);
m_dlgRefund.ShowWindow(SW_HIDE);
m_dlgTradeQuery.ShowWindow(SW_HIDE);
m_dlgStatisticsQuery.ShowWindow(SW_HIDE);
m_dlgConfig.ShowWindow(SW_HIDE);
break;
case 1:
m_dlgReceipt.ShowWindow(SW_HIDE);
m_dlgRefund.ShowWindow(SW_SHOW);
m_dlgTradeQuery.ShowWindow(SW_HIDE);
m_dlgStatisticsQuery.ShowWindow(SW_HIDE);
m_dlgConfig.ShowWindow(SW_HIDE);
break;
case 2:
m_dlgReceipt.ShowWindow(SW_HIDE);
m_dlgRefund.ShowWindow(SW_HIDE);
m_dlgTradeQuery.ShowWindow(SW_SHOW);
m_dlgStatisticsQuery.ShowWindow(SW_HIDE);
m_dlgConfig.ShowWindow(SW_HIDE);
break;
}

*pResult = 0;
}