我想在ProgressBar.vale<80时
控件ProgressBar内颜色改变
这属性如何设置?
谢谢!

解决方案 »

  1.   

    系统自带的是不行的~自已做一个吧
    就用picturebox往里画框,贴图可以更好看些
      

  2.   

    http://www.vbaccelerator.com/home/VB/Code/Controls/Progress_Bar/index.asp这里面有好几个ProgressBar的源代码,可随便选一个,然后再加入相关的值变动事件,再判断当值小于80时,滚动条的前景色发生变化.
      

  3.   

    jjkk168(老加班的人--好好学习,天天吃饭)  
    那里面全英文阿
     还要添加call
    pcMemDC.clscProgresssBar.cls
    怎么添加阿 帮个忙  谢谢!
      

  4.   

    那里面仔细看看,是玩VB的经典网站,有N多有用的源代码可以学习.在页面的左边有相关的代码下载
      

  5.   

    好的 ,谢谢jjkk168(老加班的人--好好学习,天天吃饭) 
    我这个需要涉及api 吧 !
      

  6.   

    我总觉得一个ProgressBar控件是一个相当容易写的控件,我曾经写过一个,当然没有VBAccelerator这里面这么复杂的功能,但也基本实现了需要的功能了.似乎没有用到什么API
      

  7.   

    呵呵,代码如下:
    Option ExplicitPrivate Const WM_USER = &H400
    Private Const CCM_FIRST       As Long = &H2000&
    Private Const CCM_SETBKCOLOR  As Long = (CCM_FIRST + 1)
    Private Const PBM_SETBKCOLOR  As Long = CCM_SETBKCOLOR
    Private Const PBM_SETBARCOLOR As Long = (WM_USER + 9)
    Private Declare Function SendMessage Lib "user32" _
       Alias "SendMessageA" _
      (ByVal hwnd As Long, _
       ByVal wMsg As Long, _
       ByVal wParam As Long, _
       lParam As Any) As Long
    '设置progressbar的前景色,需要IE4以上,参数hwndProgBar为控件hwnd,color为要设置的颜色
    Private Sub SetPForeColor(ByVal hwndProgBar As Long, ByVal color As Long)
        Call SendMessage(hwndProgBar, PBM_SETBARCOLOR, 0&, ByVal color)
    End Sub
    '设置progressbar的背景色,需要IE3以上,参数hwndProgBar为控件hwnd,color为要设置的颜色
    Private Sub SetPBackColor(ByVal hwndProgBar As Long, ByVal color As Long)
        Call SendMessage(hwndProgBar, PBM_SETBKCOLOR, 0&, ByVal color)
    End Sub