MFC tab控件使用
2016-05-03 20:06
330 查看
一:在对话框窗口中添加tab控件,并创建一个窗口变量CTabCtrl m_tab_main;// tab页的框架
1:在.h中添加定义
#define PAGE_MAX (6)//最大页面数
private:
UINT8 m_pagecount; //页面数量
CDialog *m_pPage[PAGE_MAX]; //页面指针数组
UINT8 m_cur_page; //当前页面指针
1:在ONinitdialog()中添加
{
//设定显示在Tab范围内
CRect rc;
m_tab_main.GetClientRect(rc); //获取当前tab控件和客户区域
//调整rc的区域以匹配报警页面
rc.top += 21;
rc.bottom -= 2;
rc.left += 2;
rc.right -= 1;
//创建页面
m_pagecount= 0; //页面数量
//设置默认的选项卡
m_cur_page = 0; //当前页面指针
m_pPage[m_cur_page]->ShowWindow(true);
m_tab_main.SetCurSel(m_cur_page);
}
2:添加事件处理函数
void CggclientDlg::OnSelchangeTabMain(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
int cur_sel = m_tab_main.GetCurSel();
if (m_cur_page != cur_sel)
{
m_pPage[m_cur_page]->ShowWindow(SW_HIDE);
m_pPage[cur_sel]->ShowWindow(SW_SHOW);
m_cur_page = cur_sel;
}
*pResult = 0;
}
二:在资源文件夹中添加->资源->对话框->新建。
三:对新建的对话框,style选child,border选none,调整到合适的尺寸,修改ID:IDD_PAGE_NEW
四:在新建的对话框上添加一个类,CPageNew
五:在主dlg.h中添加
#include "pagenew.h"
及变量
CPageNew m_page_NEW; //新建页面
六:在主对话框的ONinitdialog()中添加
{
//创建页面
if (m_userpms && PMS_OPER_NEW)
{
m_tab_main.InsertItem(m_pagecount, _T("新"));
m_page_new.Create(IDD_PAGE_NEW, &m_tab_main);
m_page_new.MoveWindow(&rc);
m_page_new.ShowWindow(false);
m_pPage[m_pagecount++] = &m_page_new;
}
}
七:循环2-6,添加其他对话框
1:在.h中添加定义
#define PAGE_MAX (6)//最大页面数
private:
UINT8 m_pagecount; //页面数量
CDialog *m_pPage[PAGE_MAX]; //页面指针数组
UINT8 m_cur_page; //当前页面指针
1:在ONinitdialog()中添加
{
//设定显示在Tab范围内
CRect rc;
m_tab_main.GetClientRect(rc); //获取当前tab控件和客户区域
//调整rc的区域以匹配报警页面
rc.top += 21;
rc.bottom -= 2;
rc.left += 2;
rc.right -= 1;
//创建页面
m_pagecount= 0; //页面数量
//设置默认的选项卡
m_cur_page = 0; //当前页面指针
m_pPage[m_cur_page]->ShowWindow(true);
m_tab_main.SetCurSel(m_cur_page);
}
2:添加事件处理函数
void CggclientDlg::OnSelchangeTabMain(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
int cur_sel = m_tab_main.GetCurSel();
if (m_cur_page != cur_sel)
{
m_pPage[m_cur_page]->ShowWindow(SW_HIDE);
m_pPage[cur_sel]->ShowWindow(SW_SHOW);
m_cur_page = cur_sel;
}
*pResult = 0;
}
二:在资源文件夹中添加->资源->对话框->新建。
三:对新建的对话框,style选child,border选none,调整到合适的尺寸,修改ID:IDD_PAGE_NEW
四:在新建的对话框上添加一个类,CPageNew
五:在主dlg.h中添加
#include "pagenew.h"
及变量
CPageNew m_page_NEW; //新建页面
六:在主对话框的ONinitdialog()中添加
{
//创建页面
if (m_userpms && PMS_OPER_NEW)
{
m_tab_main.InsertItem(m_pagecount, _T("新"));
m_page_new.Create(IDD_PAGE_NEW, &m_tab_main);
m_page_new.MoveWindow(&rc);
m_page_new.ShowWindow(false);
m_pPage[m_pagecount++] = &m_page_new;
}
}
七:循环2-6,添加其他对话框
相关文章推荐
- POJ 3041 Asteroids(最小点覆盖)
- Leetcode 257. Binary Tree Paths
- 关于回调函数的一些理解
- leetcode67:Add Binary
- IOS杂记
- 解决Hibernate native sql中双冒号(:)转义的问题
- const用法
- 陶哲轩实分析 附录 A 习题解答
- php字符串操作
- 文章标题
- 陶哲轩实分析 附录 A 习题解答
- 数组――Remove Duplicates from Sorted Array
- 刚开博客,水的开始!
- java笔记→递归算法、枚举法、辗转相除法
- android下tcpdump抓包
- Spark组件之GraphX学习4--Structural Operators:mask
- UVa 1025 A Spy in the Metro (dp)
- Mac的使用小技巧
- 数据结构(c)——赫夫曼树与赫夫曼编码
- redis学习笔记(2)---链表adlist