TC_ITEM TabItem;
memset (&TabItem, '\0', sizeof (TC_ITEM));
TabItem.mask = TCIF_TEXT |  TCIF_PARAM;
         TabItem.cchTextMax=30; 
TabItem.lParam = (long) &page1;
TabItem.pszText = "测量库";
m_tabCtrl.InsertItem (0, &TabItem);
TabItem.lParam = (long) &page2;
TabItem.pszText = "测站库";
m_tabCtrl.InsertItem (1, &TabItem);
TabItem.lParam = (long) &page3;
TabItem.pszText = "人员库";
m_tabCtrl.InsertItem (2, &TabItem);
         //m_tabCtrl是CTabCtrl的变量;
         如果不对字体进行改变,字体会很大,怎么样才能改成"宋9"
         
         下面方法为什么不行呢??
         CFont *oldFont;
CFont font;
oldFont=m_tabCtrl.GetFont();
LOGFONT lf;
ZeroMemory(&lf,sizeof(LOGFONT));
oldFont->GetLogFont(&lf);
lf.lfHeight =9;
lf.lfWidth=4;
lf.lfItalic=0;
font.CreateFontIndirect(&lf); 
m_tabCtrl.SetFont(&font);
oldFont->DeleteObject();
         m_tabCtrl.Invalidate();

解决方案 »

  1.   

    DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
    {
    CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
    CRect rect = lpDrawItemStruct->rcItem;
    //rect.top += ::GetSystemMetrics(SM_CYEDGE);
    //rect.top -= ::GetSystemMetrics(SM_CYEDGE);
    pDC->DrawText(label, rect, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
      

  2.   

    pDC->SelectObject(GetStockObject(DEFAULT_GUI_FONT));//的导系统默认字体
    pDC->DrawText(label, rect, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
      

  3.   

    请问label是什么东东,
    另外什么时候调用Draw这个函数!
    多谢!
      

  4.   

    是不是要这样呢,好像也不行!
        CFont font;
    VERIFY(font.CreateFont(
    10,                        // nHeight
    20,                         // nWidth
    0,                         // nEscapement
    0,                         // nOrientation
    FW_NORMAL,                 // nWeight
    TRUE,                     // bItalic
    FALSE,                     // bUnderline
    0,                         // cStrikeOut
    1,              // nCharSet
    OUT_DEFAULT_PRECIS,        // nOutPrecision
    CLIP_DEFAULT_PRECIS,       // nClipPrecision
    DEFAULT_QUALITY,           // nQuality
    DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
    "Arial"));              // lpszFacename

    CDC *pDC = GetDC();
    TabItem.lParam = (long) &page1;
    TabItem.pszText = "测量库";
    m_tabCtrl.InsertItem (0, &TabItem); CRect rc;
    m_tabCtrl.GetItemRect(0,rc);
    pDC->SelectObject(&font);//的导系统默认字体
    pDC->DrawText(TabItem.pszText, rc, DT_SINGLELINE|DT_VCENTER|DT_CENTER);不起作用??
      

  5.   

    在Layout下面有个Taborder可以调整