指定された位置のどのアイテムが存在するかを判定します。
#Include <GuiRebar.au3>
_GUICtrlRebar_HitTest($hWnd[, $iX = -1[, $iY = -1]])
パラメータ
$hWnd | コントロールのハンドル |
$iX | [オプション]テストされる点のクライアント座標でのX座標。現在のマウス位置を使用する場合は-1。 |
$iY | [オプション]テストされる点のクライアント座標でのY座標。現在のマウス位置を使用する場合は-1。 |
返し値
成功: | 次のフォーマットの配列: |
[0] - 指定された位置のバンドのゼロ始まりのインデックスまたは-1 | |
[1] - Trueの場合、点はコントロールのクライアントウィンドウ内ですがバンド上ではありません | |
[2] - Trueの場合、点はコントロールのクライアントウィンドウ内です | |
[3] - Trueの場合、点はレバーバンドのキャプション上です | |
[4] - Trueの場合、点はレバーバンドのシェブロン上です(バージョン5.80以降) | |
[5] - Trueの場合、点はレバーバンドのグリップ上です | |
失敗: | @errorを設定します。 |
注意
なし。
関連
例
#include <GuiConstantsEx.au3>
#include <GuiReBar.au3>
#include <GuiToolBar.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt("MustDeclareVars", 1)
$Debug_RB = False
Global $iMemo
_Main()
Func _Main()
Local $hgui, $btnExit, $hReBar, $hToolbar, $hInput, $aHitTest
Local Enum $idNew = 1000, $idOpen, $idSave, $idHelp
$hgui = GUICreate("Rebar", 400, 396, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZEBOX))
; レバーコントロールを作成
$hReBar = _GUICtrlReBar_Create($hgui, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))
$iMemo = GUICtrlCreateEdit("", 2, 100, 396, 250, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 10, 400, 0, "Courier New")
; レバーに挿入するツールバーを作成
$hToolbar = _GUICtrlToolBar_Create($hgui, BitOR($TBSTYLE_FLAT, $CCS_NORESIZE, $CCS_NOPARENTALIGN))
; 標準システムビットマップを追加
Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
Case 0
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
Case 2
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
EndSwitch
; ボタンを追加
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; レバーに挿入する入力ボックスを作成
$hInput = GUICtrlCreateInput("Input control", 0, 0, 120, 20)
; コントロールを格納しているバンドを追加
_GUICtrlReBar_AddBand($hReBar, GUICtrlGetHandle($hInput), 120, 200, "Name:")
; コントロールを格納しているバンドをレバーの最初に追加
_GUICtrlReBar_AddToolBarBand($hReBar, $hToolbar, "", 0)
$btnExit = GUICtrlCreateButton("Exit", 150, 360, 100, 25)
GUICtrlSetState($btnExit, $GUI_DEFBUTTON)
GUICtrlSetState($btnExit, $GUI_FOCUS)
GUISetState(@SW_SHOW)
$aHitTest = _GUICtrlRebar_HitTest($hReBar, 150, 25)
MemoWrite("iBand........: " & $aHitTest[0])
MemoWrite("$RBHT_NOWHERE: " & $aHitTest[5])
MemoWrite("$RBHT_CLIENT.: " & $aHitTest[3])
MemoWrite("$RBHT_CAPTION: " & $aHitTest[1])
MemoWrite("$RBHT_CHEVRON: " & $aHitTest[2])
MemoWrite("$RBHT_GRABBER: " & $aHitTest[4])
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $btnExit
Exit
EndSwitch
WEnd
EndFunc ;==>_Main
; メモ帳にメッセージを書き込む
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite