窗体创建完成,接下来我们讲讲控件的使用
class CtabView : public CFormView { ...... ...... public: CMFCTabCtrl m_tab; }
在初始化中动态创建选项卡并设置选项卡的样式,这里我们使用了Creat函数,他的原型是
BOOL Create(Style style, const RECT& rect, CWnd* pParentWnd, UINT nID, Location location = LOCATION_BOTTOM, BOOL bCloseBtn = FALSE);
是一个枚举类型,它定义了选项卡的样式,基本都为3D的样式
public:
enum Style
0,
1,
2,
3,
4,
5,
6,
7,
第二个参数:设置选项卡大小
第三个参数:窗体句柄
第四个参数:设置选项卡控件ID
第五个参数:设置选项卡标签位置,MFC只给了上下两个方向来显示选项卡标签的位置
public:
第六个参数:是否带关闭按钮,关闭按钮的逻辑是要自己实现的,这个我们下面再说。
添加选项卡代码:
void CtabView::OnInitialUpdate()
{
RecalcLayout();
if (!m_tab.Create(CMFCTabCtrl::STYLE_3D_ONENOTE, rc, this, CMFCTabCtrl::RESIZE_HORIZ, CMFCTabCtrl::LOCATION_TOP))
return
}
创建好的选显卡是光秃秃的没有任何标签页的,这个需要我们手动添加
如何给选项卡创建标签页 ,这需要我们新建窗体在选项卡中显示
创建三个Dialog窗体备用
给窗体添加类,自动生成就可以
之后咱们给选项卡添加标签页,在选项卡中引用我们刚刚新建的Dialog类的指针
#include "Dialog1.h" #include "Dialog2.h" #include "Dialog3.h" class CtabView : public CFormView { public: CMFCTabCtrl m_tab; CDialog1 *m_dlg1; CDialog2 *m_dlg2; CDialog3 *m_dlg3; }
在程序初始化时动态创建的窗体
void CtabView::OnInitialUpdate()
{
}
运行一下看一下效果
打开窗体属性,将Style属性由弹出Popup改为Child子窗口,所有的标签用的窗体都要这么改
效果
里面的窗体太难看了了,把边框和标题去掉就好了
窗体属性,把Border改为None就好了
最终效果
原文:https://www.cnblogs.com/ye-ming/p/9266558.html