/// <devdoc>
        ///     Performs a hit-test at the specified insertion point
        ///     and returns the closest item.
        /// </devdoc>
        ///
        public int NearestIndex(Point pt)
        {
            NativeMethods.POINT point = new NativeMethods.POINT();
            point.x = pt.X;
            point.y = pt.Y;

            NativeMethods.LVINSERTMARK lvInsertMark = new NativeMethods.LVINSERTMARK();
            UnsafeNativeMethods.SendMessage(new HandleRef(listView, listView.Handle), NativeMethods.LVM_INSERTMARKHITTEST, point, lvInsertMark);

            return(lvInsertMark.iItem);
        }
        internal void UpdateListView()
        {
            Debug.Assert(listView.IsHandleCreated, "ApplySavedState Precondition: List-view handle must be created");
            NativeMethods.LVINSERTMARK lvInsertMark = new NativeMethods.LVINSERTMARK();
            lvInsertMark.dwFlags = appearsAfterItem ? NativeMethods.LVIM_AFTER : 0;
            lvInsertMark.iItem   = index;
            UnsafeNativeMethods.SendMessage(new HandleRef(listView, listView.Handle), NativeMethods.LVM_SETINSERTMARK, 0, lvInsertMark);

            if (!color.IsEmpty)
            {
                listView.SendMessage(NativeMethods.LVM_SETINSERTMARKCOLOR, 0, SafeNativeMethods.ColorToCOLORREF(color));
            }
        }
Esempio n. 3
0
 public static extern bool SendMessage(HandleRef hWnd, int msg, int wParam, NativeMethods.LVINSERTMARK lParam);
Esempio n. 4
0
 /// <summary>
 ///  Performs a hit-test at the specified insertion point
 ///  and returns the closest item.
 /// </summary>
 ///
 public int NearestIndex(Point pt)
 {
     NativeMethods.LVINSERTMARK lvInsertMark = new NativeMethods.LVINSERTMARK();
     UnsafeNativeMethods.SendMessage(new HandleRef(listView, listView.Handle), (int)LVM.INSERTMARKHITTEST, ref pt, lvInsertMark);
     return(lvInsertMark.iItem);
 }
Esempio n. 5
0
 public static extern IntPtr SendMessage(HandleRef hWnd, int msg, ref Point wParam, [In, Out] NativeMethods.LVINSERTMARK lParam);