tab控件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
声明控件变量
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;
}