在DrawItem里重画tab标题。
我试着写了下。
font还有rect可以自己调整。
drawtext可以处理换行,所以可以多行。
void CTestTabCtrl::DrawItem(_In_ LPDRAWITEMSTRUCT lpDrawItemStruct)
{
char szItemName[16];
TCITEM ti;
memset(&ti, 0, sizeof(TCITEM));
ti.mask = TCIF_TEXT;
ti.pszText = szItemName;
ti.cchTextMax = 16;
ti.iImage = -1;
BOOL bRtn = GetItem(lpDrawItemStruct->itemID, &ti);
if(!bRtn || NULL == ti.pszText)
return;
CFont MyFont;
MyFont.CreateFont(9, 9, 0, 0,FW_NORMAL,FALSE,FALSE,
FALSE,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
FIXED_PITCH|FF_MODERN, "宋体");
SelectObject(lpDrawItemStruct->hDC, MyFont);
CRect rect = lpDrawItemStruct->rcItem;
rect.top += 8;
DrawText(lpDrawItemStruct->hDC, ti.pszText, strlen(ti.pszText), &rect, DT_VCENTER|DT_CENTER);
MyFont.DeleteObject();
}