1 m_List.Create(WS_OVERLAPPED|WS_CHILD|WS_VISIBLE|LVS_REPORT|LVS_AUTOARRANGE|LVS_SHOWSELALWAYS|LVS_EDITLABELS ,rect,&m_tabListTable,1234); 2 m_List.ModifyStyle(0,WS_EX_CLIENTEDGE,SWP_DRAWFRAME);
最后的Id只要不跟resource.h里的重复,随便填一个。
效果:
=============================================================
补充:
当在XP+VC6下写的程序放到Win7上运行时,可能会出现不愉快的视觉效果,我手工用画图(专注画图好多年,简单方便又快捷)标注了下,为了突出我使用了蓝色:
图中蓝色部分可能会显示为当前系统的设定值(我瞎猜的不要当真),这需要我们手工的改写tab控件的背景色。
要做的就是继承CTabCtrl来实现自己的类,例如CTabCtrlWLS,然后实现对WM_ERASEBKGND的响应。
1 BOOL CTabCtrlWLS::OnEraseBkgnd(CDC* pDC) 2 { 3 // TODO: Add your message handler code here and/or call default 4 5 RECT stRect; 6 GetClientRect(&stRect); 7 8 //创建画刷,外部。 9 //CBrush oBrush; 10 //oBrush.CreateSolidBrush(RGB(236,233,216)); 11 12 //填充控件背景 13 pDC-> FillRect(&stRect,&oBrushBKGND); 14 15 //return CTabCtrl::OnEraseBkgnd(pDC); 16 return true; 17 }