当前位置:网站首页>Cbcgptabwnd control used by BCG (equivalent to MFC TabControl)
Cbcgptabwnd control used by BCG (equivalent to MFC TabControl)
2022-07-04 19:42:00 【Spring buds and summer lotus_ seven hundred and twenty-eight mi】
1、 Create a new sub dialog box and modify the properties , Create a new class at the same time NyPage1


2、 In the dialog box of new project default class , Add one pic Control and modify hidden properties

3、 Modify the contents of the default class :
(1) Header file
Add destructor :
~CBCGTabWndSampleDlg()
{
if (_NyPage1 != nullptr)
{
delete _NyPage1;
_NyPage1 = nullptr;
}
if (_NyPage2 != nullptr)
{
delete _NyPage2;
_NyPage2 = nullptr;
}
}
Define members :
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) In the implementation file
Message response
N_REGISTERED_MESSAGE(BCGM_ON_MOVE_TAB, CBCGTabWndSampleDlg::OnMoveTab)
// Switch tab Responding to events
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(" first page "), 0);
_NyPage2 = new NyPage1();
_NyPage2->Create(NyPage1::IDD, &m_wndTab);
m_wndTab.AddTab(_NyPage2, _T(" The second page "), 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;
}
thus , You can see its simple effect , No beautification :

边栏推荐
- 牛客小白月赛7 E Applese的超能力
- QT realizes interface sliding switching effect
- 1005 Spell It Right(20 分)(PAT甲级)
- kotlin 继承
- kotlin 循环控制
- [QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页
- 勾股数规律(任意三个数能够满足勾股定理需要满足的条件)
- 92. (cesium chapter) cesium building layering
- Lenovo explains in detail the green smart city digital twin platform for the first time to solve the difficulties of urban dual carbon upgrading
- C# 使用StopWatch测量程序运行时间
猜你喜欢

abc229 总结(区间最长连续字符 图的联通分量计数)
牛客小白月赛7 谁是神箭手

The 300th weekly match of leetcode (20220703)

联想首次详解绿色智城数字孪生平台 破解城市双碳升级难点

English grammar_ Noun - use

Online text line fixed length fill tool

记一次 .NET 某工控数据采集平台 线程数 爆高分析

勾股数规律(任意三个数能够满足勾股定理需要满足的条件)

TCP两次挥手,你见过吗?那四次握手呢?

Multi table operation - external connection query
随机推荐
FPGA timing constraint sharing 01_ Brief description of the four steps
kotlin 基本数据类型
TCP waves twice, have you seen it? What about four handshakes?
The 300th weekly match of leetcode (20220703)
Lm10 cosine wave homeopathic grid strategy
Niuke Xiaobai month race 7 e applese's super ability
《工作、消费主义和新穷人》的微信读书笔记
English grammar_ Noun - use
YOLOv5s-ShuffleNetV2
BCG 使用之CBCGPProgressDlgCtrl进度条使用
Several methods of online database migration
Pytest 可视化测试报告之 Allure
Niuke Xiaobai month race 7 who is the divine Archer
1007 maximum subsequence sum (25 points) (PAT class a)
Online sql to excel (xls/xlsx) tool
[QNX hypervisor 2.2 user manual]6.3.1 factory page and control page
1009 Product of Polynomials(25 分)(PAT甲级)
PointNeXt:通过改进的模型训练和缩放策略审视PointNet++
线上数据库迁移的几种方法
Detailed explanation of the binary processing function threshold() of opencv