1.在指定位置处创建一个CMFCTabCtrl,并给其添加4个CEdit:
CRect rectTab;
CEdit m_wnd1;
CEdit m_wnd2;
CEdit m_wnd3;
CEdit m_wnd4;
CMFCTabCtrl m_wndTab;
m_wndTabLoc.GetWindowRect (&rectTab);
ScreenToClient (&rectTab);
m_wndTab.Create (CMFCTabCtrl::STYLE_3D, rectTab, this, 1,
CMFCTabCtrl::LOCATION_TOP);
m_wnd1.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTab, 1);
m_wnd1.SetFont (&afxGlobalData.fontRegular);
m_wnd1.SetWindowText (_T("Edit 1"));
m_wnd2.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTab, 2);
m_wnd2.SetFont (&afxGlobalData.fontRegular);
m_wnd2.SetWindowText (_T("Edit 2"));
m_wnd3.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTab, 3);
m_wnd3.SetFont (&afxGlobalData.fontRegular);
m_wnd3.SetWindowText (_T("Edit 3"));
m_wnd4.Create (WS_CHILD | WS_VISIBLE, CRect (0, 0, 0, 0), &m_wndTab, 4);
m_wnd4.SetFont (&afxGlobalData.fontRegular);
m_wnd4.SetWindowText (_T("Edit 4"));
m_wndTab.AddTab (&m_wnd1, _T("One"), 0, FALSE);
m_wndTab.AddTab (&m_wnd2, _T("Two"), 1, FALSE);
m_wndTab.AddTab (&m_wnd3, _T("Three"), 2, FALSE);
m_wndTab.AddTab (&m_wnd4, _T("Four"), 3, FALSE);
2.为CMFCTabCtrl设置Tab标签的图标:
3.设置CMFCTabCtrl的样式:
4.设置CMFCTabCtrl表头的位置(上面还是下面):
5.设置CMFCTabCtrl表头及边框的颜色:
6.设置CMFCTabCtrl表头是否可以拖拽:
From:http://www.cnblogs.com/magic-cube/archive/2011/04/27/2029908.html
tsingfun.com补充:
设置AutoColor后的Tab效果如图:
MDI默认Tab样式改为上图效果的代码如下(MainFrm.cpp):
简单的Demo代码:
MFCApplication1.zip。
添加Tab流程:vs2010同vs2008用法
1.对话框放置PictureCtrl,设Type=Rectangle,Visible=False,Color=Gray,ID=IDC_STATIC_TAB
2.DDX_Control(pDX, IDC_STATIC_TAB, m_wndTabsArea);
3.CMFCTabCtrl m_wndTabs;
4.创建几个对话框Border=None,Style=Child,创建Dlg类
5.OnInitDialog()