怎么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);
   }   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值