现在的位置: 首页 > 综合 > 正文

MFC字体(二)(控件字体颜色)

2018年07月17日 ⁄ 综合 ⁄ 共 876字 ⁄ 字号 评论关闭

改变Edit字体颜色:

1、CMyDlg类中添加成员变量:

CBrush m_Brush;

2、OnInitDialog中初进行设置:

m_brush.CreateSolidBrush(RGB(0,255,255));

3、添加消息响应函数:OnCtlColor

if(nCtlColor == CTLCOLOR_EDIT)

{

      if(pWnd->GetDlgCtrlID()== IDC_EDIT1)

      {

           pDC->SetTextColor(RGB(255,255,0)); //文字颜色  

           pDC->SetBkColor(RGB(251, 247, 200));

           pDC->SetBkMode(TRANSPARENT);//透明

           return (HBRUSH) m_brush.GetSafeHandle();

       }

 }

改变Static控件字体颜色:

假设你已有了名为My的对话框工程.你有了一个STATIC的控件,ID为IDC_STATIC1.

1、OnCtlColor中添加代码:

if (nCtlColor==CTLCOLOR_STATIC)

{

       pDC->SetTextColor(RGB(255,0,0));  //字体颜色

       pDC->SetBkColor(RGB(0, 0, 255));   //字体背景色  

}

2、如果是对某一特定控件改变,代码如下:

if (pWnd->GetDlgCtrlID()==IDC_STATIC1)

{

       pDC->SetTextColor(RGB(255,0,0));  //设置字体颜色

       pDC->SetBkMode(TRANSPARENT); //设置字体背景为透明

// TODO: Return a different brush if the default is not desired

  return (HBRUSH)::GetStockObject(BLACK_BRUSH);  // 设置背景色

}

else

return hbr;

抱歉!评论已关闭.