Function Reference


_GUICtrlStatusBar_GetIcon

Retrieves the icon for a part

#include <GuiStatusBar.au3>
_GUICtrlStatusBar_GetIcon ( $hWnd [, $iIndex = 0] )

Parameters

$hWnd Handle to the control
$iIndex [optional] 0-based index of the part that contains the icon to be retrieved.
If this parameter is -1, the status bar is assumed to be a Simple Mode status bar.

Return Value

Success: the handle to the icon.
Failure: 0

Related

_GUICtrlStatusBar_SetIcon

Example

Example 1 use with icon handle

#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPIIcons.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
        ; Create GUI
        Local $hGUI = GUICreate("StatusBar Get/Set Icon (v" & @AutoItVersion & ")", 400, 300)
        Local $hStatus = _GUICtrlStatusBar_Create($hGUI)

        ; Create memo control
        $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)

        ; Set parts
        Local $aParts[4] = [75, 150, 300, 400]
        _GUICtrlStatusBar_SetParts($hStatus, $aParts)
        _GUICtrlStatusBar_SetText($hStatus, "Part 1")
        _GUICtrlStatusBar_SetText($hStatus, "Part 2", 1)

        ; Set icons
        Local $ahIcons[2]
        $ahIcons[0] = _WinAPI_LoadShell32Icon(23)
        $ahIcons[1] = _WinAPI_LoadShell32Icon(40)
        _GUICtrlStatusBar_SetIcon($hStatus, 0, $ahIcons[0])
        _GUICtrlStatusBar_SetIcon($hStatus, 1, $ahIcons[1])

        ; Show icon handles
        MemoWrite("Part 0 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
        MemoWrite("IsPtr = " & IsPtr(_GUICtrlStatusBar_GetIcon($hStatus, 0)) & " IsHWnd = " & IsHWnd(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
        MemoWrite("Part 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        ; Free icons
        _WinAPI_DestroyIcon($ahIcons[0])
        _WinAPI_DestroyIcon($ahIcons[1])
        GUIDelete()
EndFunc   ;==>Example

; Write message to memo
Func MemoWrite($sMessage = "")
        GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

Example 2 direct use with icon file

#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
        ; Create GUI
        Local $hGUI = GUICreate("StatusBar Get/Set Icon (v" & @AutoItVersion & ")", 400, 300)
        Local $hStatus = _GUICtrlStatusBar_Create($hGUI)

        ; Create memo control
        $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)

        ; Set parts
        Local $aParts[4] = [75, 150, 300, 400]
        _GUICtrlStatusBar_SetParts($hStatus, $aParts)
        _GUICtrlStatusBar_SetText($hStatus, "Part 0")
        _GUICtrlStatusBar_SetText($hStatus, "Part 1", 1)

        ; Set icons
        _GUICtrlStatusBar_SetIcon($hStatus, 0, 23, "shell32.dll")
        _GUICtrlStatusBar_SetIcon($hStatus, 1, 40, "shell32.dll")

        ; Show icon handles
        MemoWrite("Part 0 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
        MemoWrite("Part 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 1)))

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
EndFunc   ;==>Example

; Write message to memo
Func MemoWrite($sMessage = "")
        GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite