首页 > 代码库 > 改变静态编辑框static text背景色,字体设置及字体背景

改变静态编辑框static text背景色,字体设置及字体背景

IDC_ShowTime为编辑框ID

m_showtime为静态编辑框的变量

 1.dlg.h中

CBrush m_showtimeBrush;  

CFont m_editFont;//字体

2.OnInitDialog()中

m_showtimeBrush.CreateSolidBrush(RGB(204,0,204));  ///编辑框背景颜色
CEdit *m_EditAa=(CEdit *)GetDlgItem(IDC_ShowTime);     //IDC_ShowTime为编辑框ID
m_editFont.CreatePointFont(220,_T("微软雅黑"));     //选择字体
m_EditAa->SetFont(&m_editFont);

3.在类向导中添加OnCtlColor

HBRUSH CmyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

if(m_showtime.m_hWnd == pWnd->m_hWnd)///m_showtime为静态编辑框的变量
{    //pDC->SetBkColor(RGB(0,255,0)); ///字体的背景
pDC->SetBkMode(TRANSPARENT); ///编辑框透明
pDC->SetTextColor(RGB(255, 255, 255));//文字颜色
pDC->SelectObject(&m_editFont); 
return m_showtimeBrush;
}// TODO:  如果默认的不是所需画笔,则返回另一个画笔
return hbr;


}

结果:(对话框原先也设置了,紫色部分为静态编辑框效果)


改变静态编辑框static text背景色,字体设置及字体背景