怎么VC++设定对话框中所有静态文本的字体

CFont  *f;
  f =  new  CFont;
  f->CreateFont(13,                         // nHeight
        5,                          // nWidth
        0,                          // nEscapement
        0,                          // nOrientation
        500,                  // nWeight
        FALSE,                      // bItalic
        FALSE,                      // bUnderline
        0,                          // cStrikeOut
        ANSI_CHARSET,               // nCharSet
        OUT_DEFAULT_PRECIS,         // nOutPrecision
        CLIP_TT_ALWAYS,        // nClipPrecision
        PROOF_QUALITY ,            // nQuality
        DEFAULT_PITCH | FF_SWISS,   // nPitchAndFamily
        _T( "Tahoma" ));                  // lpszFac
GetDlgItem(IDC_STATIC1)->SetFont(f);


这是设定ID为IDC_STATIC1的静态文本的字体。但我有10个静态文本,有没有一次就设定这10个静态文本的字体的方法。只要一行代码的那种,有没有啊。

1. 可以在OnCtlColor中设置
if ( CTLCOLOR_STATIC == nCtlColor)
     {
         if ( IDC_STATIC1                == pWnd->GetDlgCtrlID()
            || IDC_STATIC2            == pWnd->GetDlgCtrlID()
            || IDC_STATIC3            == pWnd->GetDlgCtrlID()
            || IDC_STATIC4            == pWnd->GetDlgCtrlID()
            || IDC_STATIC5            == pWnd->GetDlgCtrlID()
            || IDC_STATIC6            == pWnd->GetDlgCtrlID()
            || IDC_STATIC7        == pWnd->GetDlgCtrlID()
            || IDC_STATIC8        == pWnd->GetDlgCtrlID()
            || IDC_STATIC9        == pWnd->GetDlgCtrlID()
            || IDC_STATIC10            == pWnd->GetDlgCtrlID()
           
         {
                  CWnd *pWnd = GetDlgItem(dwID);
               pWnd ->SetFont(pFont);
                    // pFont是自己定义的字体
                 }
                     
          }

2. 或将下面代码放在初始化函数那里:
CFont  *f;
     f = new CFont;
     f->CreateFont(13,                        // nHeight
           5,                         // nWidth
           0,                         // nEscapement
           0,                         // nOrientation
           500,                 // nWeight
           FALSE,                     // bItalic
           FALSE,                     // bUnderline
           0,                         // cStrikeOut
           ANSI_CHARSET,              // nCharSet
           OUT_DEFAULT_PRECIS,        // nOutPrecision
           CLIP_TT_ALWAYS,       // nClipPrecision
           PROOF_QUALITY ,           // nQuality
           DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
           _T("Tahoma"));                 // lpszFac


   CWnd   *pWndChild = GetWindow(GW_CHILD);   
   while(pWndChild)   
   {   
      pWndChild=pWndChild->GetNextWindow(); 
  //TRACE1("%d\n",pWndChild->GetDlgCtrlID()); 
  if(pWndChild == NULL)
  continue;
  pWndChild->SetFont(f);
   }   


你可能感兴趣的:(怎么VC++设定对话框中所有静态文本的字体)