Function Reference

_GUICtrlSlider_Create

スライダーコントロールを作成します。

#Include <GuiSlider.au3>
_GUICtrlSlider_Create($hWnd, $iX, $iY[, $iWidth = 100[, $iHeight = 20[, $iStyle = 0x0001[, $iExStyle = 0x00000000]]]])

 

パラメータ

$hWnd 親ウィンドウまたはオーナーウィンドウのハンドル
$iX コントロールの水平位置
$iY コントロールの垂直位置
$iWidth [オプション]コントロールの幅
$iHeight [オプション]コントロールの高さ
$iStyle [オプション]コントロールのスタイル:
$TBS_AUTOTICKS - TBM_SETRANGEメッセージを使用してスライダーに範囲設定をした際に目盛りを追加します。
$TBS_BOTH - スライダーの両側に目盛りを配置します。
$TBS_BOTTOM - 水平スライダーの下側に目盛りを配置します。
$TBS_DOWNISLEFT - 下を左に、上を右に対応させます。
$TBS_ENABLESELRANGE - 選択範囲の開始位置、終了位置の目盛りを(垂直ダッシュの代わりに)三角形で表示し、 選択範囲をハイライトします。
$TBS_FIXEDLENGTH - $TBM_SETTHUMBLENGTHメッセージでスライダーサイズを変更できるようにします。
$TBS_HORZ - 水平スライダーを指定します。これはデフォルトです。
$TBS_LEFT - 垂直スライダーの左側に目盛りを配置します。
$TBS_NOTHUMB - スライダーがスライダーを持たないように指定します。
$TBS_NOTICKS - スライダーに目盛りを配置しないように指定します。
$TBS_REVERSED - 小さい数が"高"を表し、大きい数が"低"を表します。
$TBS_RIGHT - 垂直スライダーの右側に目盛りを配置します。
$TBS_TOP - 水平スライダーの上側に目盛りを配置します。
$TBS_TOOLTIPS - スライダーの現在の位置を表示するデフォルトのツールチップコントロールを作成します。
$TBS_VERT - 垂直スライダーの左側に目盛りを配置します。
デフォルト: $TBS_AUTOTICKS
強制 : $WS_CHILD、 $WS_TABSTOP、 $WS_VISIBLE
$iExStyle [オプション]コントロール拡張スタイル。標準的な$WS_EX_定数と対応しています。
デフォルト: $WS_EX_STATICEDGE

 

返し値

成功: スライダーコントロールのハンドル
失敗: 0

 

注意

この関数は上級者、コントロール動作学習用です。

 

関連

_GUICtrlSlider_Destroy

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiSlider.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

$Debug_S = False ; 関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

Global $hSlider

_Main()

Func _Main()
    Local $hGUI

    ; GUIを作成
    $hGUI = GUICreate("(UDF Created) Slider Create", 400, 296)
    $hSlider = _GUICtrlSlider_Create($hGUI, 2, 2, 396, 20, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
    GUISetState()

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndSlider
    $hWndSlider = $hSlider
    If Not IsHWnd($hSlider) Then $hWndSlider = GUICtrlGetHandle($hSlider)

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hWndSlider
            Switch $iCode
                Case $NM_RELEASEDCAPTURE ; コントロールがマウスキャプチャをリリース
                    _DebugPrint("$NM_RELEASEDCAPTURE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; 返し値なし
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
            "!===========================================================" & @LF & _
            "+======================================================" & @LF & _
            "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
            "+======================================================" & @LF)
EndFunc   ;==>_DebugPrint