函数参考


GUICtrlCreateIcon

在GUI上创建一个图标(Icon)控件.

GUICtrlCreateIcon ( 文件名, 图标名称, 左侧, 顶部 [, 宽度 [, 高度 [, 样式 [, 扩展样式]]]] )

参数

文件名 要加载的图标文件.
图标名称 若指定的图标文件含有多个图标则要指定图标标识符(编号),否则使用 -1.
左侧 控件左侧的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算左侧位置.
顶部 控件上方的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算上方位置.
宽度 [可选参数] 控件的宽度(默认值为32).
高度 [可选参数] 控件的高度(默认值为32).
样式 [可选参数] 指定控件的样式.请查看附录中关于 GUI 控件样式 的说明.

默认值(-1): $SS_NOTIFY
强制性样式:$WS_TABSTOP, $SS_ICON
扩展样式 [可选参数] 指定控件的扩展样式.请查看附录的 扩展样式表.

返回值

成功: 返回新控件的控件标识符(控件ID).
失败: 返回值为0.

注意/说明

要设置或者修改控件信息,请参考 GUICtrlUpdate....

若要更新图标则可使用 GUICtrlSetImage

图标ID 可以参考图标的组号. 使用 Resource hacker ( 注:这是一个资源修改软件 )能得到它的值.

要在默认样式的基础上添加一个新的样式可使用 BitOr($GUI_SS_DEFAULT_ICON, 新样式,...).

要使用上方指定的值,您必须包含 #include <StaticConstants.au3> 在你的脚本中.

默认大小为: $GUI_DOCKSIZE.

如果使用正数,那么参考图标的名称.
如果使用负数(-1),得到主图标. 一些DLL文件的资源名称有可能也是负数.

相关

GUICoordMode (Option), GUICtrlSetImage, GUICtrlUpdate..., GUIGetMsg

示例/演示


#include <GUIConstantsEx.au3>

Example1()
Example2()


;example1 ---------------------------
Func Example1()
    GUICreate(" My GUI Icons", 250, 250)

    GUICtrlCreateIcon("shell32.dll", 10, 20, 20)
    GUICtrlCreateIcon(@WindowsDir & "\cursors\horse.ani", -1, 20, 40, 32, 32)
    GUICtrlCreateIcon("shell32.dll", 7, 20, 75, 32, 32)
    GUISetState()

    ; 运行界面,直到窗口被关闭
    While 1
        Local $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>Example1



; example2 ---------------------------
Func Example2()
    Local $iOldOpt, $n1, $n2, $a, $b
    $iOldOpt = Opt("GUICoordMode", 1)

    GUICreate("My GUI icon Race", 350, 74, -1, -1)
    GUICtrlCreateLabel("", 331, 0, 1, 74, 5)
    $n1 = GUICtrlCreateIcon(@WindowsDir & "\cursors\dinosaur.ani", -1, 0, 0, 32, 32)
    $n2 = GUICtrlCreateIcon(@WindowsDir & "\cursors\horse.ani", -1, 0, 40, 32, 32)

    GUISetState(@SW_SHOW)

    $a = 0
    $b = 0
    While ($a < 300) And ($b < 300)
        $a = $a + Int(Random(0, 1) + 0.5)
        $b = $b + Int(Random(0, 1) + 0.5)
        GUICtrlSetPos($n1, $a, 0)
        GUICtrlSetPos($n2, $b, 40)
        Sleep(20)
    WEnd
    Sleep(1000)
    Opt("GUICoordMode", $iOldOpt)
EndFunc   ;==>Example2