发布网友 发布时间:2024-10-23 21:11
共2个回答
热心网友 时间:2天前
动态改变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();
热心网友 时间:2天前
修改控制颜色那个函数的数值就能改了呀