officefileapi-devexpress-dot-xtrarichedit-46c14ef3.md
Provides options used to retrieve information about the layout element located under the hit point.
Namespace : DevExpress.XtraRichEdit
Assembly : DevExpress.RichEdit.v25.2.Core.dll
NuGet Package : DevExpress.RichEdit.Core
public class RichEditHitTestResult
Public Class RichEditHitTestResult
The following members return RichEditHitTestResult objects:
Use the HitTestManager.HitTest method to retrieve the RichEditHitTestResult instance.
Tip
Refer to the following example to learn how to solve the same task using the WPF RichEditControl: Show a ToolTip that contains information about a document layout element located under the cursor position
if (!e.SelectedControl.Equals(richEditControl1))
return;
//Obtain the mouse cursor's layout position on the page and the current page index:
PageLayoutPosition pageLayoutPosition = richEditControl1.ActiveView.GetDocumentLayoutPosition(e.ControlMousePosition);
if (pageLayoutPosition == null)
return;
Point point = pageLayoutPosition.Position;
int pageIndex = pageLayoutPosition.PageIndex;
LayoutPage layoutPage = richEditControl1.DocumentLayout.GetPage(pageIndex);
//Create a HitTestManager instance:
HitTestManager hitTest = new HitTestManager(richEditControl1.DocumentLayout);
//Perform the hit test and pass the result to the RichEditHitTestResult object:
RichEditHitTestResult result = hitTest.HitTest(layoutPage, point);
if (result != null)
{
//Retrieve the current layout element type:
LayoutElement element = result.LayoutElement;
string text = element.Type.ToString();
//Obtain the the text character and its bounds under the mouse position
if (element.Type == LayoutType.CharacterBox)
{
text += String.Format(" : \"{0}\"", (element as CharacterBox).Text);
text += GetBounds(element);
if (element.Parent.Type == LayoutType.PlainTextBox)
{
text += String.Format("\r\nPlainTextBox : \"{0}\"", (element.Parent as PlainTextBox).Text);
text += GetBounds(element.Parent);
}
}
else
{
//Get the hovered element's bounds:
text += GetBounds(element);
}
//Get the element's location:
string title = GetLocation(element);
//Display all retrieved information in the tooltip:
e.Info = new ToolTipControlInfo(element.Bounds, text, title, ToolTipIconType.Information);
}
If Not e.SelectedControl.Equals(richEditControl1) Then
Return
End If
'Obtain the mouse cursor's layout position on the page and the current page index:
Dim pageLayoutPosition As PageLayoutPosition = richEditControl1.ActiveView.GetDocumentLayoutPosition(e.ControlMousePosition)
If pageLayoutPosition Is Nothing Then
Return
End If
Dim point As Point = pageLayoutPosition.Position
Dim pageIndex As Integer = pageLayoutPosition.PageIndex
Dim layoutPage As LayoutPage = richEditControl1.DocumentLayout.GetPage(pageIndex)
'Create a HitTestManager instance:
Dim hitTest As New HitTestManager(richEditControl1.DocumentLayout)
'Perform the hit test and pass the result to the RichEditHitTestResult object:
Dim result As RichEditHitTestResult = hitTest.HitTest(layoutPage, point)
If result IsNot Nothing Then
'Retrieve the current layout element type:
Dim element As LayoutElement = result.LayoutElement
Dim text As String = element.Type.ToString()
'Obtain the the text character and its bounds under the mouse position
If element.Type = LayoutType.CharacterBox Then
text &= String.Format(" : ""{0}""", (TryCast(element, CharacterBox)).Text)
text &= GetBounds(element)
If element.Parent.Type = LayoutType.PlainTextBox Then
text &= String.Format(ControlChars.CrLf & "PlainTextBox : ""{0}""", (TryCast(element.Parent, PlainTextBox)).Text)
text &= GetBounds(element.Parent)
End If
Else
'Get the hovered element's bounds:
text &= GetBounds(element)
End If
'Get the element's location:
Dim title As String = GetLocation(element)
'Display all retrieved information in the tooltip:
e.Info = New ToolTipControlInfo(element.Bounds, text, title, ToolTipIconType.Information)
End If
Object RichEditHitTestResult
See Also
How to: Determine the Document Element under the Mouse Pointer
How to: Determine the Document Element under the Mouse Pointer