原文链接:http://blog.csdn.net/hanshuning/article/details/40897099
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; }
结果:(对话框原先也设置了,紫色部分为静态编辑框效果)