怎样动态改变Dialog中IDC_STATIC的文字及颜色?

解决方案 »

  1.   

    动态改变Dialog中IDC_STATIC的文字:
    SetDlgItemText(IDC_STATIC,"ABC");动态改变Dialog中IDC_STATIC文字的颜色:
    重载OnCtlColor函数,在要更改颜色的时候向对话框发送WM_CTLCOLOR就行了。
      

  2.   

    to dzl,
     关于动态改变Dialog中某一IDC_STATIC文字的颜色,能否具体说一下怎样使用OnCtlColor,小弟不胜感谢!
      

  3.   

    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();
      

  4.   

    为什么,dzl()所提的动态动态改变Dialog中IDC_STATIC的文字不可用?请详细讲!!