4.11--如何改变对话框内控件的字体和颜色?

改变对话框控件的字体:

第一步:为每一个所需要定制的字体在对话框类里定义一个CFont类型的成员变量。

CFont m_font1,m_font2;

 

第二步:在OnInitDialog()函数里创建步骤1声明的字体,并使用CWnd::SetFont()将新字体应用到适当的控件上。

创建字体2中方法:

1、m_font1.CreatePointFont()直接创建字体

2、填充LOGFONT结构调用m_font2.CreateFontIndirect(&lf)函数创建字体

 

第三步:改变控件的字体

GetDlgItem(IDC_X)->SetFont(&m_font1);

GetDlgItem(IDC_Y)->SetFont(&m_font2);

 

改变对话框控件的颜色:

使用ClassWizard为对话框增加WM_CTLCOLOR消息处理函数

HBRUSH CDemoDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
      HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 
      //把IDC_STATIC_X和IDC_STATIC_Y控件的文本颜色设为蓝色
      if(pWnd->GetDlgCtrlID() == IDC_STATIC_X || pWnd->GetDlgCtrlID() == IDC_STATIC_Y )
      {
            pDC->SetTextColor( RGB(0,0,255) );
      }

 

      //把IDC_X和IDC_Y控件的文本颜色设为红色
      if(pWnd->GetDlgCtrlID() == IDC_X  || pWnd->GetDlgCtrlID() == IDC_Y )
      {
            pDC->SetTextColor( RGB(0,255,0) );
      }

 

      // TODO: Return a different brush if the default is not desired
      return hbr;
}

你可能感兴趣的:(4.11--如何改变对话框内控件的字体和颜色?)