Function ProgressBarGadget(ByVal gadget As Long, ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByVal BeginPos As Long=0, ByVal EndPos As Long=0, ByVal style As Long=0) As HWND
Гаджет визуально показывающий результаты какого либо действия (например,загрузки, копирования файлов и т п ).
Установить цвет в гаджет можно функцией SetGadgetColor (только для Windows и Linux с подсистемой GTK2)
Получить цвет из гаджета можно функцией GetGadgetColor (только для Windows и Linux с подсистемой GTK2)
Получить текущую позицию в диапазоне можно функцией GetGadgetState
Установить текущую позицию в диапазоне можно функцией SetGadgetState
gadget - идентификатор\номер (любое натуральное число больше нуля, может быть 1,2,3,4 и др.)
x,y,w,h - расположение и размеры
BeginPos - начальная позиция диапазона отображения
EndPos - конечная позиция диапазона отображения
style - (только для windows и linux c подсистемой GTK2) стиль отображения гаджета, может быть:
PBS_SMOOTH (1) - сглаженная шкала без разделения
PBS_VERTICAL (4) - вертикальное отображение
PBS_MARQUEE (8) - визуальная шкала из разделенных прямоугольников, по умолчанию
Windows , Linux
#Include "window9.bi"
Dim As Integer event
var hwnd=OpenWindow("window",10,10,350,100) : CenterWindow(hwnd)
Var dd=ProgressBarGadget(1,10,10,300,20,0,100)
SetGadgetColor(1,50000,0,3)
SetTimer(hwnd,1,1000,0)
Var a=0:Var b=70000
Do
   event=WaitEvent()
   If Event=EventClose Then
      End
   ElseIf Event=EventTimer Then
      a+=20
      If a=120 Then
         a=0
         SetGadgetColor(1,b,b+20000,3)
         b+=20000
      EndIf
      SetGadgetState(1,a)
   EndIf
Loop

#Include "window9.bi"
Dim As HWND hwnd
Dim As Integer event
#Define colorRgb Bgr(Int(Rnd*255),Int(Rnd*255),Int(Rnd*255))
hwnd=OpenWindow("window",10,10,345,360) : CenterWindow(hwnd)
For event=1 To 10
   ProgressBarGadget(event,event*30-10,10,20,300,0,100, PBS_SMOOTH or PBS_VERTICAL)
   SetGadgetColor(event,colorRgb,colorRgb,3)
Next
SetTimer(hwnd,1,10,0)
Do
   event=WaitEvent()
   If Event=EventClose Then
      End
   ElseIf Event=EventTimer Then
      For event=1 To 10
         SetGadgetState(event,int(Rnd*100))
      Next
   EndIf
Loop

Created with the Personal Edition of HelpNDoc: Write eBooks for the Kindle