MFC-CtabCtrl(属性页控件)

本文介绍了如何使用MFC的CTabCtrl控件创建属性页,每个属性页作为一个对话框,并通过设置对话框的样式和添加控件进行功能展示。详细步骤包括添加对话框、修改对话框属性、为对话框添加类、在主对话框中定义变量、关联控件、初始化选项卡以及处理TCN_SELCHANGE事件。通过这种方式,可以将多个小功能整合到一个属性页控件中,方便用户操作。
摘要由CSDN通过智能技术生成

属性页->选项卡->对话框

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

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程序了,可以在上面自行设置一些功能,添加一些控件.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值