private int HitTest()
{
NativeMethods.TCHITTESTINFO hti = new NativeMethods.TCHITTESTINFO();
Point mousePos = PointToClient(MousePosition);
hti.pt.x = mousePos.X;
hti.pt.y = mousePos.Y;
IntPtr htiPointer = Marshal.AllocCoTaskMem(Marshal.SizeOf(hti));
Marshal.StructureToPtr(hti, htiPointer, false);
int result = (int)NativeMethods.SendMessage(Handle, NativeMethods.TCM_HITTEST,
IntPtr.Zero, htiPointer);
Marshal.DestroyStructure(htiPointer, typeof(NativeMethods.TCHITTESTINFO));
Marshal.FreeCoTaskMem(htiPointer);
return result;
}