在Dialog上,我放了个进度条控件IDC_PROGRESS1,我想改变它的背景色为红色,前景色为绿色.就是在红色背景下,一根绿色的进度条慢慢前进.
在OnCtlColor中改变跟本无效跟本无效,
而且 pDC中只有pDC->SetBKColor(),要设置进度条的颜色怎么办?
各位大侠可以自己试试.
只用CProgressCtrl,不用其它的进度条控件.
谢谢!

解决方案 »

  1.   

    你必须派生自己的CMyProgressCtrl,否则自找麻烦。
    see http://www.codeguru.com/controls/MacProgress.shtml
      

  2.   

    我派生一个自己的类CMyProgressCtrl,也加入了OnCtlColor事件函数,仍然无效.
      

  3.   

    给进度条send这两个消息:PBM_SETBKCOLOR和PBM_SETBARCOLOR,在消息的参数中设置前景和背景颜色。注意progress bar是common control。
      

  4.   

    CProgressCtrl m_progress;
    ...
    m_progress.SendMessage(PBM_SETBKCOLOR, 0, RGB(255, 0, 0));//背景色
    m_progress.SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 255, 0));//前景色
    m_progress.SetPos(40);
      

  5.   

    同意楼上;
    当然也可自定义函数用FillRect()解决;