Retourne des informations sur l'emplacement, dans le contrôle,d'un point spécifié
#include <GuiTreeView.au3>
_GUICtrlTreeView_HitTest ( $hWnd, $iX, $iY )
$hWnd | ID/handle du contrôle |
$iX | Position X, par rapport au contrôle, du point à tester |
$iY | Position Y, par rapport au contrôle, du point à tester |
Succès: | Retourne une valeur indiquant les résultats du test: 1 - Dans le zone client, mais au-dessous du dernier noeud. 2 - Sur le bitmap associé à un noeud 4 - Sur le texte associé à un noeud 8 - Dans l'indentation associée à un noeud 16 - Sur le bouton associé à un noeud 32 - Dans la zone à droite d'un noeud 64 - Sur l'icône de l'Etat d'un noeud qui est dans un état défini par l'utilisateur 128 - Au-dessus de la zone client 256 - En dessous de la zone client 512 - A la droite de la zone client 1024 - A la gauche de la zone client |
Échec: | Retourne 0. |
_GUICtrlTreeView_HitTestEx, _GUICtrlTreeView_HitTestItem
#include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiTreeView.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> Global $g_hImage, $g_hStateImage Example() Func Example() Local $ahItem[10], $aidChildItem[30], $iYItem = 0, $iYRand, $iXRand, $idTreeView Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS) GUICreate("TreeView Hit Test", 400, 300) $idTreeView = GUICtrlCreateTreeView(2, 2, 396, 268, $iStyle, $WS_EX_CLIENTEDGE) GUISetState(@SW_SHOW) _CreateNormalImageList() _GUICtrlTreeView_SetNormalImageList($idTreeView, $g_hImage) _CreateStateImageList() _GUICtrlTreeView_SetStateImageList($idTreeView, $g_hStateImage) _GUICtrlTreeView_BeginUpdate($idTreeView) For $x = 0 To 9 $ahItem[$x] = _GUICtrlTreeView_Add($idTreeView, 0, StringFormat("[%02d] New Item", $x), 4, 5) _GUICtrlTreeView_SetStateImageIndex($idTreeView, $ahItem[$x], 1) For $y = 1 To 3 $aidChildItem[$iYItem] = _GUICtrlTreeView_AddChild($idTreeView, $ahItem[$x], StringFormat("[%02d] New Child", $y), 0, 3) _GUICtrlTreeView_SetStateImageIndex($idTreeView, $aidChildItem[$iYItem], 1) $iYItem += 1 Next Next _GUICtrlTreeView_EndUpdate($idTreeView) _GUICtrlTreeView_SelectItem($idTreeView, $ahItem[0]) _GUICtrlTreeView_SetStateImageIndex($idTreeView, $ahItem[0], 2) $iYRand = Random(0, 268, 1) $iXRand = Random(0, 396, 1) MsgBox($MB_SYSTEMMODAL, "Information", StringFormat("Hit Test (%d, %d): %s", $iXRand, $iYRand, _GetHitString(_GUICtrlTreeView_HitTest($idTreeView, $iXRand, $iYRand)))) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example Func _GetHitString($iResult) Switch $iResult Case 1 Return "In the client area, but below the last item" Case 2 Return "On the bitmap associated with an item" Case 4 Return "On the text associated with an item" Case 8 Return "In the indentation associated with an item" Case 16 Return "On the button associated with an item" Case 32 Return "In the area to the right of an item" Case 64 Return "On the state icon for a item that is in a user-defined state" Case 128 Return "Above the client area" Case 256 Return "Below the client area" Case 512 Return "To the left of the client area" Case 1024 Return "To the right of the client area" EndSwitch EndFunc ;==>_GetHitString Func _CreateNormalImageList() $g_hImage = _GUIImageList_Create(16, 16, 5, 3) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 110) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 131) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 165) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 168) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 137) _GUIImageList_AddIcon($g_hImage, "shell32.dll", 146) EndFunc ;==>_CreateNormalImageList Func _CreateStateImageList() $g_hStateImage = _GUIImageList_Create(16, 16, 5, 3) _GUIImageList_AddIcon($g_hStateImage, "shell32.dll", 3) _GUIImageList_AddIcon($g_hStateImage, "shell32.dll", 4) EndFunc ;==>_CreateStateImageList