Retrieves the icon for a part
#include <GuiStatusBar.au3>
_GUICtrlStatusBar_GetIcon ( $hWnd [, $iIndex = 0] )
$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. |
Success: | the handle to the icon. |
Failure: | 0 |
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGUI, $ahIcons[2], $hStatus
Local $aParts[4] = [75, 150, 300, 400]
; Create GUI
$hGUI = GUICreate("(Example 1) StatusBar Get Icon", 400, 300)
$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
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
_GUICtrlStatusBar_SetText($hStatus, "Part 1")
_GUICtrlStatusBar_SetText($hStatus, "Part 2", 1)
; Set icons
$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 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
MemoWrite("IsPtr = " & IsPtr(_GUICtrlStatusBar_GetIcon($hStatus, 0)) & " IsHWnd = " & IsHWnd(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
MemoWrite("Part 2 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
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGUI, $hStatus
Local $aParts[4] = [75, 150, 300, 400]
; Create GUI
$hGUI = GUICreate("(Example 2) StatusBar Get Icon", 400, 300)
$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
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
_GUICtrlStatusBar_SetText($hStatus, "Part 1")
_GUICtrlStatusBar_SetText($hStatus, "Part 2", 1)
; Set icons
_GUICtrlStatusBar_SetIcon($hStatus, 0, 23, "shell32.dll")
_GUICtrlStatusBar_SetIcon($hStatus, 1, 40, "shell32.dll")
; Show icon handles
MemoWrite("Part 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon($hStatus, 0)))
MemoWrite("Part 2 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