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

xiaoxiao2021-02-28  156

原文链接: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; }

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

转载请注明原文地址: https://www.6miu.com/read-18553.html

最新回复(0)