15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как изменить цвет Progress Bar

Проблема в том, что напрямую через свойства контрола нельзя менять цвет баров и цвет фона у Progressbar.

Однако, через API эту проблему можно решить.
Чтобы использовать следующий код, Вам понадобится форма и прогрессбар с именем Progressbar1.

 

'*********************************************
'Поместите этот код в модуль или в общий раздел формы
'API DECLARATION
Public Declare Function SendMessage Lib _
  "user32" Alias "SendMessageA" _
  (ByVal hwnd As Long, _
   ByVal wMsg As Long, _
   ByVal wParam As Long, _
   lParam As Any) As Long

'CONSTANT DECLARATION
Public Const CCM_FIRST = &H2000
Public Const CCM_SETBKCOLOR = (CCM_FIRST + 1)
Public Const PBM_SETBKCOLOR = CCM_SETBKCOLOR
Public Const WM_USER = &H400
Public Const PBM_SETBARCOLOR = (WM_USER + 9)
'*********************************************

'*********************************************
'Поместите этот код в форму

Private Sub Form_Load()

'Установим цвет бара в ProgressBar в чёрный
SendMessage ProgressBar1.hwnd, PBM_SETBARCOLOR, 0, ByVal RGB(0, 0, 0)

'Установим фон у ProgressBar в синий цвет
SendMessage ProgressBar1.hwnd, PBM_SETBKCOLOR, 0, ByVal RGB(0, 0, 127)

End Sub