スライダーコントロールを作成します。
#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