Function Reference

GUICtrlCreateIcon

GUI用のアイコンコントロールを作成します。

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

 

パラメータ

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にはアイコングループ番号を使用できます。値を知るためにはリソースハッカーを使用してください。

デフォルトスタイルに他のスタイルを組み合わせる場合はBitOr($GUI_SS_DEFAULT_ICON, newstyle,...)を使用してください。

上で指定されている値を使用するためにはスクリプトに#include <StaticConstants.au3>と書く必要があります。

デフォルトのサイズ変更方法は$GUI_DOCKSIZEです。

正の数を渡した場合、アイコン名と等しい文字列を参照します。
負の数を渡した場合、1始まりの"インデックス"処理が起きます。Dllには負の数を使ってアイコンを取り出す仕様のものがあります。

 

関連

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

 


#include <GUIConstantsEx.au3>

Opt('MustDeclareVars', 1)

Example1()
Example2()


; 例1 ---------------------------
Func Example1()
    Local $icon, $n1, $n2, $msg
   
    GUICreate(" My GUI Icons", 250, 250)

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

    ; ダイアログが閉じられるまでGUIを実行
    While 1
        $msg = GUIGetMsg()
       
        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>example1



; 例2 ---------------------------
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)

    Dim $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