Function Reference


GUICtrlSetImage

Sets the bitmap or icon image to use for a control.

GUICtrlSetImage ( controlID, filename [, iconname [, icontype]] )

Parameters

controlID The control identifier (controlID) as returned by a GUICtrlCreate...() function, or -1 for the last created control.
filename The filename containing the picture to be display on the control.
iconname [optional] Icon name if the file contains multiple icons. Can be an ordinal name if negative number. Otherwise -1.
icontype [optional] To select a specific icon size : 0 = small, 1 = normal (default).
For a TreeViewItem the icon size : 2 = selected, 4 for non-selected item.

Return Value

Success: 1.
Failure: 0.

Remarks

Use a resource hacker to know the value of the valid icon name in a file.

If used on a Button control the image will be displayed on the button. Images can also be set for Checkbox controls as long as the $BS_PUSHLIKE style is used. In both case the $BS_ICON or $BS_BITMAP styles are needed to select the type of the picture used. The first icon resolution will be used in a multi icon resolution file. I.E. if a 128x128 is the first resolution and the control is 64x64 the image will be truncated.

!!! If you use this command on a TreeViewItem the first time, then all other items will use this icon/image automatically by default !!!
If you use GUICtrlSetImage() on a TreeView or ListView then all items of it will change to this icon/image.

Passing a positive number will reference the string equivalent icon name.
Passing a negative number causes 1-based "index" behaviour. Some Dll can have icon extracted just with negative numbers.

Related

GUICtrlCreateButton, GUICtrlCreateCheckbox, GUICtrlCreateIcon, GUICtrlCreatePic

Example

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

Example()

Func Example()
        GUICreate("My GUI") ; will create a dialog box that when displayed is centered

        GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)
        GUICtrlSetImage(-1, "shell32.dll", 22)

        GUISetState(@SW_SHOW)

        ; Loop until the user exits.
        While 1
                Switch GUIGetMsg()
                        Case $GUI_EVENT_CLOSE
                                ExitLoop

                EndSwitch
        WEnd
EndFunc   ;==>Example