如何改变Dialog中字体颜色?动态改变Dialog中IDC_STATIC的文字:SetDlgItemText(IDC_STATIC,"ABC"); 动态改变Dialog中IDC_STATIC文字的颜色: 重载OnCtlColor函数,在要更改颜色的时候向对话框发送WM_CTLCOLOR就行了。 1.在对话框的类中加入成员: CBrush m_brush; COLORREF m_color; 2.在OnInitDialog()中,加入 m_brush.CreateSolidBrush(RGB(255,255,255)); //此处设置的RGB值可以改变控件的背景色。 m_color=RGB(0,0,0) //此处设置控件的文字初始颜色。 3.响应WM_ONCTLCOLOR消息,重载OnCtlColor()函数,加入: if(nCtlColor== CTLCOLOR_STATIC){ pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(m_color); return (HBRUSH)m_brush.GetSafeHandle(); } 4.需要改变颜色时 m_color=RGB(128,0,255);//此处改变字体的颜色 CStatic* m_pStatic1=(CStatic*)GetDlgItem(IDC_STATIC1); m_pStatic1->RedrawWindow(); |
|