您的位置:首页 > 其它

MFC-CtabCtrl(属性页控件)

2016-03-27 13:47 344 查看
属性页->选项卡->对话框

就是属性页包含多个选项卡,每个选项卡对应一个对话框,如图所示:



1.添加对话框,这里先插入两个对话框,如图所示:



2.把两个对话框的属性修改一下,Style属性设置为Child,Border属性设置为None.然后向对话框添加几个控件作为演示.如图:





3.分别给两个对话框添加类,如图所示:





4.在主对话框头文件里给两个对话框定义变量

//要记得添加头文件

CPage1Dialog m_page1;
CPage2Dialog m_page2;


5.给主对话框关联一个控件变量

6.在初始化对话框中创建选项卡和插入选项卡

//插入第2个选项卡(属性页)
m_tab.InsertItem(0, TEXT("第一页"));
m_tab.InsertItem(1, TEXT("第二页"));

//创建两个选项卡
m_page1.Create(MAKEINTRESOURCE(IDD_FIRST_PAGE), &m_tab);
m_page2.Create(MAKEINTRESOURCE(IDD_SECOND_PAGE), &m_tab);

//设置选项卡的位置
CRect rect = { 0 };
GetClientRect(&rect);
rect.top += 22;//把高度调下来一点,否则会遮住切换页
m_page1.MoveWindow(&rect);
m_page2.MoveWindow(&rect);

//刚开始先显示第一页
m_page1.ShowWindow(SW_SHOW);


效果如图:



7.在属性页控件中,右键属性找到TCN_SELCHANGE事件

void CMFCTESTDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;

//切换选项卡
switch (m_tab.GetCurSel())
{
case 0:
m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
break;
case 1:
m_page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_SHOW);
break;
default:
break;
}
}


如图:



每一个选项卡就相当于一个小的基于对话框的MFC程序了,可以在上面自行设置一些功能,添加一些控件.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: