LEADTOOLS Windows Forms (Leadtools.WinForms assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
HitTest Method
See Also 
Leadtools.WinForms Namespace > RasterImageList Class : HitTest Method



x
The horizontal position of the coordinate in client coordinates.
y
The vertical position of the coordinate in client coordinates.
x
The horizontal position of the coordinate in client coordinates.
y
The vertical position of the coordinate in client coordinates.
Queries the specified location to determine if the point is over an RasterImageListItem.

Syntax

Visual Basic (Declaration) 
Public Function HitTest( _
   ByVal x As Integer, _
   ByVal y As Integer _
) As RasterImageListItem
Visual Basic (Usage)Copy Code
Dim instance As RasterImageList
Dim x As Integer
Dim y As Integer
Dim value As RasterImageListItem
 
value = instance.HitTest(x, y)
C# 
public RasterImageListItem HitTest( 
   int x,
   int y
)
C++/CLI 
public:
RasterImageListItem^ HitTest( 
   int x,
   int y
) 

Parameters

x
The horizontal position of the coordinate in client coordinates.
y
The vertical position of the coordinate in client coordinates.

Return Value

An RasterImageListItem object under the given location, or null (Nothing in Visual Basic) if no RasterImageListItem is under the location.

Example

This example will create and populate a RasterImageList control, and then performs hittesting when the user right clicks on the control and shows the item information.

Visual BasicCopy Code
Private Class MyForm4 : Inherits Form
      Private imageList As RasterImageList
      Private codecs As RasterCodecs
      Public Sub New(ByVal title As String)
         Text = title

         ' Set the size of the form
         Size = New Size(400, 200)

         ' Create a new RasterImageList control
         imageList = New RasterImageList()
         imageList.Dock = DockStyle.Fill
         imageList.SelectionMode = RasterImageListSelectionMode.Single
         imageList.Size = Size
         Controls.Add(imageList)
         imageList.BringToFront()

         codecs = New RasterCodecs()

         ' Create three items
         Dim imagesPath As String = LEAD_VARS.ImagesDir

         For i As Integer = 0 To 2
            ' Load the image
            Dim index As Integer = i + 1
            Dim imageFileName As String = Path.Combine(imagesPath, "ImageProcessingDemo\Image" & index.ToString() & ".cmp")
            Dim image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1)
            Dim item As RasterImageListItem = New RasterImageListItem(image, 1, "Item" & index.ToString())

            ' Select the first item
            If i = 0 Then
               item.Selected = True
            End If

            ' Add the item to the image list
            imageList.Items.Add(item)
         Next i


         ' Add a handler to the MouseDown event
         AddHandler imageList.MouseDown, AddressOf rasterImageList_MouseDown

         ' Add the RasterImageList to the control collection.
         Controls.Add(imageList)
      End Sub

      Private Sub rasterImageList_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
         ' Check for right button clicks
         If e.Button = Windows.Forms.MouseButtons.Right Then
            ' Check if any item is under the cursor poisition
            Dim imageList As RasterImageList = CType(IIf(TypeOf sender Is RasterImageList, sender, Nothing), RasterImageList)
            Dim item As RasterImageListItem = imageList.HitTest(e.X, e.Y)
            If Not item Is Nothing Then
               ' Yes, show the item text in a message box
               MessageBox.Show(Me, item.Text)
            End If
         End If
      End Sub
   End Class

   Public Sub RasterImageList_HitTest(ByVal title As String)
      Dim form As MyForm4 = New MyForm4(title)
      form.ShowDialog()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
class MyForm4 : Form
   {
      RasterImageList imageList;
      RasterCodecs codecs;
      public MyForm4(string title)
      {
         Text = title;

         // Set the size of the form
         Size = new Size(400, 200);

         // Create a new RasterImageList control
         imageList = new RasterImageList();
         imageList.Dock = DockStyle.Fill;
         imageList.SelectionMode = RasterImageListSelectionMode.Single;
         imageList.Size = Size;
         Controls.Add(imageList);
         imageList.BringToFront();

         codecs = new RasterCodecs();

         // Create three items
         string imagesPath = LEAD_VARS.ImagesDir;

         for(int i = 0; i < 3; i++)
         {
            // Load the image
            int index = i + 1;
            string imageFileName = Path.Combine(imagesPath, @"ImageProcessingDemo\Image" + index.ToString() + ".cmp");
            RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1);
            RasterImageListItem item = new RasterImageListItem(image, 1, "Item" + index.ToString());

            // Select the first item
            if(i == 0)
               item.Selected = true;

            // Add the item to the image list
            imageList.Items.Add(item);
         }


         // Add a handler to the MouseDown event
         imageList.MouseDown += new MouseEventHandler(rasterImageList_MouseDown);

         // Add the RasterImageList to the control collection.
         Controls.Add(imageList);
      }

      private void rasterImageList_MouseDown(object sender, MouseEventArgs e)
      {
         // Check for right button clicks
         if(e.Button == MouseButtons.Right)
         {
            // Check if any item is under the cursor poisition
            RasterImageList imageList = sender as RasterImageList;
            RasterImageListItem item = imageList.HitTest(e.X, e.Y);
            if(item != null)
            {
               // Yes, show the item text in a message box
               MessageBox.Show(this, item.Text);
            }
         }
      }
   }

   public void RasterImageList_HitTest(string title)
   {
      MyForm4 form = new MyForm4(title);
      form.ShowDialog();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also