MFC选项卡控件的使用
2015-12-06 23:17
603 查看
1.新建一个TabControlTest,选择Dialog based, 然后Finish。
2. 在对话框上添加Tab控件,然后,在控件上右键添加变量,变量名为m_TabWin. 类型为CTabCtrl.
3. 在对话框的初始化函数OnInitDialog里面添加如下代码:
m_TabWin.InsertItem(0, _T("Main Hyposis"));
m_TabWin.InsertItem(1, _T("Other Hyposis"));
4. 然后,在对话框资源里面再增加两个对话框,作为选项卡的子对话框,需要对这两个对话框的属性进行设置:Border选为None,Style选为Child。并将其ID改为:IDD_FIRSTTAB和IDD_SECONDTAB。再分别为其添加对应的基于CDialog类CFirstTab, CSecondTab.
5. 再在TabControlTest1Dlg.h中添加变量
CFirstTab
m_FirstTab;
CSecondTab
m_SecondTab;
6.再在初始化函数OnInitDialog里面添加如下代码:
m_FirstTab.Create(IDD_FIRSTTAB, &m_TabWin);
m_SecondTab.Create(IDD_SECONDTAB, &m_TabWin);
CRect rect;
m_TabWin.GetClientRect(&rect);
rect.top+=25; //如果是横的选项卡,要在这个地方腾出选项页的标签,+20即可
rect.bottom-=4;
rect.left+=4; //因为是竖的选项卡,所以这个地方为了腾出选项页的标签,逻辑坐标默认向下为正,向右为正
rect.right-=4;
m_FirstTab.MoveWindow(&rect);
m_SecondTab.MoveWindow(&rect);
m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);
m_TabWin.SetCurSel(0);
7. 双击对话框上的选项卡控件添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下:
int CurSel;
CurSel = m_TabWin.GetCurSel();
switch(CurSel)
{
case 0:
m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);
break;
case 1:
m_FirstTab.ShowWindow(FALSE);
m_SecondTab.ShowWindow(TRUE);
break;
default: ;
}
2. 在对话框上添加Tab控件,然后,在控件上右键添加变量,变量名为m_TabWin. 类型为CTabCtrl.
3. 在对话框的初始化函数OnInitDialog里面添加如下代码:
m_TabWin.InsertItem(0, _T("Main Hyposis"));
m_TabWin.InsertItem(1, _T("Other Hyposis"));
4. 然后,在对话框资源里面再增加两个对话框,作为选项卡的子对话框,需要对这两个对话框的属性进行设置:Border选为None,Style选为Child。并将其ID改为:IDD_FIRSTTAB和IDD_SECONDTAB。再分别为其添加对应的基于CDialog类CFirstTab, CSecondTab.
5. 再在TabControlTest1Dlg.h中添加变量
CFirstTab
m_FirstTab;
CSecondTab
m_SecondTab;
6.再在初始化函数OnInitDialog里面添加如下代码:
m_FirstTab.Create(IDD_FIRSTTAB, &m_TabWin);
m_SecondTab.Create(IDD_SECONDTAB, &m_TabWin);
CRect rect;
m_TabWin.GetClientRect(&rect);
rect.top+=25; //如果是横的选项卡,要在这个地方腾出选项页的标签,+20即可
rect.bottom-=4;
rect.left+=4; //因为是竖的选项卡,所以这个地方为了腾出选项页的标签,逻辑坐标默认向下为正,向右为正
rect.right-=4;
m_FirstTab.MoveWindow(&rect);
m_SecondTab.MoveWindow(&rect);
m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);
m_TabWin.SetCurSel(0);
7. 双击对话框上的选项卡控件添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下:
int CurSel;
CurSel = m_TabWin.GetCurSel();
switch(CurSel)
{
case 0:
m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);
break;
case 1:
m_FirstTab.ShowWindow(FALSE);
m_SecondTab.ShowWindow(TRUE);
break;
default: ;
}
相关文章推荐
- iOS进程、线程相关总结
- BC #65 (A)
- 信息安全系统第十三周学习总结 20135218 姬梦馨
- JAVA之路
- iOS开发 - 22.实用技术之地图的基本使用
- UVa 725 除法
- 12.06
- 信息安全系统第十三周学习总结 20135218 姬梦馨
- 堆排序
- Qtablewidget 无法获取单元格的值
- 检查点队列浅析
- 如何修改OpenCV源码并调试
- 项目报告(最终版)
- 第二百四十八天 how can I 坚持
- 利用svn的blame功能查出代码的每一行是谁写/改的
- 安装 kali live usb
- dede之瀑布流添加心得
- SVM(一)问题的提出
- Android群英传之Android控件建构与自定义控件详解知识点总结
- java 多线程 CountDownLatch用法