#include <GuiConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
#include <Constants.au3>
Dim $XS_n
$Debug_SB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
_Main()
Func _Main()
Local $hGUI, $hStatus
Local $aParts[] = [, , -]
; Create GUI
XPStyle()
$hGUI = GUICreate("(Example 1) StatusBar Set BkColor", , )
$hStatus = _GUICtrlStatusBar_Create ($hGUI)
GUISetState()
; Set parts
_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
_GUICtrlStatusBar_SetText ($hStatus, "Part 1")
_GUICtrlStatusBar_SetText ($hStatus, "Part 2", )
; Set background color
_GUICtrlStatusBar_SetBkColor ($hStatus, $CLR_MONEYGREEN)
; Loop until user exits
XPStyle()
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
Func XPStyle($OnOff = )
If $OnOff And StringInStr(@OSTYPE, "WIN32_NT") Then
$XS_n = DllCall("uxtheme.dll", "int", "GetThemeAppProperties")
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", )
Return
ElseIf StringInStr(@OSTYPE, "WIN32_NT") And IsArray($XS_n) Then
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", $XS_n[])
$XS_n = ""
Return
EndIf
Return
EndFunc ;==>XPStyle