Function Reference

首页  后退  前进

GUICtrlCreateIcon

 

创建图标(Icon)控件.

 

GUICtrlCreateIcon ( filename, iconName, left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )

参数

filename

图标文件名称.

iconName

图标名称, 如果图标文件含有多个图标, 则指定图标标识符(序号,使用负数), 否则使用 -1.

left

控件左侧的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算左侧位置.

top

控件上方的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算顶部位置.

width

[可选] 控件的宽度(默认 32).

height

[可选] 控件的高度(默认 32).

style

[可选] 控件的样式. 查看附录 GUI 控件样式表.

默认样式 ( -1) : $SS_NOTIFY

强制样式 : $WS_TABSTOP, $SS_ICON

exStyle

[可选] 控件的扩展样式. 查看附录 扩展样式表.

返回值

成功:

返回控件标识符(控件ID).

失败:

返回 0.

备注

设置或者修改控件信息, 参考 GUICtrlUpdate...() 函数.

 

要更新图标, 可使用 GUICtrlSetImage()

 

图标 ID 可以引用图标组号. 使用 Resource hacker (资源修改软件)能得到正确值.

 

要在默认样式上添加新样式, 可使用 BitOR($GUI_SS_DEFAULT_ICON, 新样式,...) 语句.

使用上面列出的值必须将 #include <StaticConstants.au3> 语句写入脚本中.

 

默认大小为 $GUI_DOCKSIZE.

 

如果使用正数, 将引用图标的名称.

如果使用负数, 将引用基于 1 的图标索引. 一些 DLL 文件的资源名称只能使用负数提取.

相关

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

函数示例

示例 1

#include <GUIConstantsEx.au3>
Example()
Func Example()
    GUICreate(" My GUI Icons", 250, 250)
    GUICtrlCreateIcon("shell32.dll", 10, 20, 20)
    GUICtrlCreateIcon(@ScriptDir & '\Extras\horse.ani', -1, 20, 40, 32, 32)
    GUICtrlCreateIcon("shell32.dll", 7, 20, 75, 32, 32)
    GUISetState(@SW_SHOW)
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
    GUIDelete()
EndFunc   ;==>Example

示例 2

Example()
Func Example()
    Local $iOldOpt = Opt("GUICoordMode", 1)
    GUICreate("My GUI icon Race", 350, 74, -1, -1)
    GUICtrlCreateLabel("", 331, 0, 1, 74, 5)
    Local $id1 = GUICtrlCreateIcon(@ScriptDir & '\Extras\dinosaur.ani', -1, 0, 0, 32, 32)
    Local $id2 = GUICtrlCreateIcon(@ScriptDir & '\Extras\horse.ani', -1, 0, 40, 32, 32)
    GUISetState(@SW_SHOW)
    Local $a = 0
    Local $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($id1, $a, 0)
        GUICtrlSetPos($id2, $b, 40)
        Sleep(10)
    WEnd
    Sleep(3000)
    Opt("GUICoordMode", $iOldOpt)
EndFunc   ;==>Example

----------------------------------------