Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Kolorowe Progress bary


Rekomendowane odpowiedzi

Opublikowano

Cześć. Pomyślałem że może się to komuś przydać:

 

 

 

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 434, 159, 326, 169)
$Button1 = GUICtrlCreateButton("SetProgressBarState", 20, 20, 120, 20)
$Button2 = GUICtrlCreateButton("SetProgressBarText", 20, 40, 120, 20)
$Button3 = GUICtrlCreateButton("SetProgressBarColor", 20, 60, 120, 20)
ColoredProgressBar("Ja piernicze, działa!", 16, 95, 300, 25, 0x56577)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Opt('GuiOnEventMode', 1)

GUICtrlSetOnEvent($Button1, "Button1")
GUICtrlSetOnEvent($Button2, "Button2")
GUICtrlSetOnEvent($Button3, "Button3")
GUISetOnEvent($gui_event_close, "ExitBot")
While 1
sleep(1000)
Wend

Func ColoredProgressBar($text, $left, $top, $width, $height, $color)
Global $LabelProgs[3]
$LabelProgs[0] = GUICtrlCreateLabel("", $left-1, $top-1, $width+2, $height+2, $WS_BORDER)
$LabelProgs[1] = GUICtrlCreateLabel("", $left, $top, $width, $height)
GUICtrlSetColor($LabelProgs[1], $color)
GUICtrlSetBkColor($LabelProgs[1], $color)
$LabelProgs[2] = GUICtrlCreateLabel($text, $left-1, $top-1, $width+2, $height+2, BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUICtrlSetBkColor($LabelProgs[2], $GUI_BKCOLOR_TRANSPARENT)
Return $LabelProgs
EndFunc

Func SetProgressBarState($ID, $Proc, $MaxRange)
$Pos = ControlGetPos ("", "", $ID)
$SetProc = $MaxRange / 100 * $Proc
$SetProc = Int($SetProc)
GUICtrlSetPos($ID, $Pos[0], $Pos[1], $SetProc, $Pos[3])
EndFunc

Func SetProgressBarText($ID, $text)
GUICtrlSetData($LabelProgs[2], $text)
EndFunc

Func SetProgressBarColor($ID, $color)
GUICtrlSetColor($LabelProgs[1], $color)
GUICtrlSetBkColor($LabelProgs[1], $color)
EndFunc



Func ExitBot()
Exit
EndFunc

Func Button1()
$Random = Random(0, 100, 1)
SetProgressBarState($LabelProgs[1], $Random, 300)
EndFunc

Func Button2()
$Random = Random(0, 10000, 1)
SetProgressBarText($LabelProgs[2], $Random)
EndFunc

Func Button3()
$Random = Random(0, 999999, 1)
SetProgressBarColor($LabelProgs[1], "0x"&$Random)
EndFunc

 

 

 

Baaaardzo dawno temu wymyśliłem sposób na tworzenie prostych progress barów w kolorze jaki się chcę bez użycia grafik czy innych wynalazków. Właściwie to powyższy kod napisałem na samym początku mojej przygody z autoit i w sumie od jakichś 3 lat nic nie ruszałem w nim xD Można było to napisać lepiej a nawet może stworzyć UDFa ale ja nie mam za bardzo czasu na to :) Jak ktoś chcę to może kombinować bo pomysł jest całkiem niezły.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...