BCG 使用之CBCGPTabWnd控件(相当于MFC TabControl)

261 篇文章 10 订阅

1、新建子对话框并修改属性,同时新建一个类NyPage1

 2、在新建项目默认类的对话框中,添加一个pic控件并修改隐藏属性

 

3、修改默认类的内容:

(1)头文件中

添加析构函数:

~CBCGTabWndSampleDlg()
    {
        if (_NyPage1 != nullptr)
        {
            delete _NyPage1;
            _NyPage1 = nullptr;
        }
        if (_NyPage2 != nullptr)
        {
            delete _NyPage2;
            _NyPage2 = nullptr;
        }
    }

定义成员:

CBCGPTabWnd m_wndTab;

    NyPage1 *_NyPage1;
    NyPage1 *_NyPage2;

    afx_msg LRESULT OnMoveTab(WPARAM wp, LPARAM lp);
    afx_msg LRESULT OnChangeActiveTab(WPARAM wp, LPARAM lp);
    afx_msg LRESULT OnRenameTab(WPARAM wp, LPARAM lp);
    afx_msg LRESULT OnChangeTabSelection(WPARAM wp, LPARAM lp);

(2)实现文件中

消息响应

N_REGISTERED_MESSAGE(BCGM_ON_MOVE_TAB, CBCGTabWndSampleDlg::OnMoveTab)
    //切换tab响应事件
    ON_REGISTERED_MESSAGE(BCGM_CHANGE_ACTIVE_TAB, CBCGTabWndSampleDlg::OnChangeActiveTab)
    ON_REGISTERED_MESSAGE(BCGM_ON_RENAME_TAB, CBCGTabWndSampleDlg::OnRenameTab)
    ON_REGISTERED_MESSAGE(BCGM_CHANGE_TAB_SELECTION, CBCGTabWndSampleDlg::OnChangeTabSelection)

BOOL CBCGTabWndSampleDlg::OnInitDialog()
{
    CBCGPDialog::OnInitDialog();

    CRect rectTab;
    GetDlgItem(IDC_TAB)->GetWindowRect(&rectTab);
    ScreenToClient(&rectTab);
    m_wndTab.Create(CBCGPTabWnd::STYLE_3D, rectTab, this, 1, CBCGPTabWnd::LOCATION_TOP);

    {
        _NyPage1 = new NyPage1();
        _NyPage1->Create(NyPage1::IDD, &m_wndTab);
        m_wndTab.AddTab(_NyPage1, _T("第一页"), 0);

        _NyPage2 = new NyPage1();
        _NyPage2->Create(NyPage1::IDD, &m_wndTab);
        m_wndTab.AddTab(_NyPage2, _T("第二页"), 1);
    }

    m_wndTab.SetActiveTab(0);

    m_wndTab.RecalcLayout();
    m_wndTab.RedrawWindow();


    return TRUE;  // return TRUE  unless you set the focus to a control
}

LRESULT CBCGTabWndSampleDlg::OnMoveTab(WPARAM wp, LPARAM lp)
{
    return 1;
}

LRESULT CBCGTabWndSampleDlg::OnChangeActiveTab(WPARAM wp, LPARAM lp)
{
    return 1;
}

LRESULT CBCGTabWndSampleDlg::OnRenameTab(WPARAM wp, LPARAM lp)
{
    return 1;
}
LRESULT CBCGTabWndSampleDlg::OnChangeTabSelection(WPARAM wp, LPARAM lp)
{
    return 1;
}

至此,就可以看到其简单的效果,没有美化:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值