HitTest(Pt: IPoint; Var Hit: HitTestResult): ITreeListNode;
Pt. Точка, в которой нужно получить элемент компонента.
Hit. Параметр, в котором будет содержаться дополнительная информация после выполнения метода.
Метод HitTest осуществляет проверку наличия элемента в заданной точке клиентской области компонента и возвращает результат проверки.
Метод HitTest является расширением метода GetItemAt.
Если точка Pt попадает в область элемента (учитывается вся строка: область отступа, пиктограмма состояния, пиктограмма, текст элемента в любом столбце и свободная область справа от текста), то метод вернёт параметры этого элемента, иначе метод вернёт значение Null.
Также в переменной, которая будет передана в качестве параметра Hit, будет содержаться область компонента, в которую попадает точка Pt.
Примечание. Метод GetItemAt не поддерживается компонентами TreeCombo, MetabaseTreeCombo, которые являются наследниками интерфейса ITreeControl.
Для выполнения примера предполагается наличие формы и, расположенного на ней, компонента TreeList с наименованием «TreeList1». Указанная процедура установлена в качестве обработчика события OnMouseDown компонента «TreeList1».
Sub TreeList1OnMouseDown(Sender: Object; Args: IMouseClickEventArgs);
Var
Node: ITreeListNode;
Result: HitTestResult;
s: String;
Begin
Node := TreeList1.HitTest(Args.pPoint, Result);
Select Case Result
Case HitTestResult.Nowhere: s := "Nowhere";
Case HitTestResult.OnItemIcon: s := "OnItemIcon";
Case HitTestResult.OnItemLabel: s := "OnItemLabel";
Case HitTestResult.OnItemIndent: s := "OnItemIndent";
Case HitTestResult.OnItemButton: s := "OnItemButton";
Case HitTestResult.OnItemRight: s := "OnItemRight";
Case HitTestResult.OnItemStateIcon: s := "OnItemStateIcon";
Case HitTestResult.Above: s := "Above";
Case HitTestResult.Below: s := "Below";
Case HitTestResult.ToLeft: s := "ToLeft";
Case HitTestResult.ToRight: s := "ToRight";
End Select;
If Node <> Null Then
s := Node.Text + '(' + s + ')';
End If;
Self.Text := s;
End Sub TreeList1OnMouseDown;
При щелчке мышью в области компонента «TreeList1» будет осуществляться проверка наличия в этой области какого-либо элемента. Область компонента и текст элемента, если он имеется в этой области, будут выведены в заголовок формы.
См. также: