请问如何使ProgressBar带上颜色?

edmond_zhao 2003-08-11 05:04:16
加精
我想在一个窗体上使用3个ProgressBar显示不同进程的快慢,想使这三个进度条使用不同的颜色,比如一个是黄色的进度条,一个是红色的进度条,一个是兰色的进度条,请问如何实现?
在线等待,急,多谢了。
...全文
127 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
edmond_zhao 2003-08-11
  • 打赏
  • 举报
回复
分已经给出,请查收,谢谢。
edmond_zhao 2003-08-11
  • 打赏
  • 举报
回复
太感谢了
lihonggen0 2003-08-11
  • 打赏
  • 举报
回复
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long


Private Sub Form_Load()
ProgressBar1.Value = 50
ProgressBar2.Value = 50
ProgressBar3.Value = 50
ProgressSetColor ProgressBar1.hwnd, RGB(255, 0, 0), True
ProgressSetColor ProgressBar2.hwnd, vbBlue, True
ProgressSetColor ProgressBar3.hwnd, vbYellow, True

End Sub
Public Sub ProgressSetColor(lProgressBarHwnd As Long, lColour As Long, bForeground As Boolean)
Const WM_USER = &H400, CCM_FIRST As Long = &H2000&
Const CCM_SETBKCOLOR As Long = (CCM_FIRST + 1), PBM_SETBKCOLOR As Long = CCM_SETBKCOLOR
Const PBM_SETBARCOLOR As Long = (WM_USER + 9)

On Error GoTo ErrFailed
If bForeground Then
Call SendMessage(lProgressBarHwnd, PBM_SETBARCOLOR, 0&, ByVal lColour)
Else
Call SendMessage(lProgressBarHwnd, PBM_SETBKCOLOR, 0&, ByVal lColour)
End If
Exit Sub

ErrFailed:
Debug.Print "Error in ProgressSetColor: " & Err.Description
Debug.Assert False
End Sub


victorycyz 2003-08-11
  • 打赏
  • 举报
回复

有没有想过,用三个没有文字的label,设置不同的背景色,就可以很好地当作进度条使用了。

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧