protected virtual bool HandleBeginScroll(ref Message m)
{
//System.Diagnostics.Debug.WriteLine("LVN_BEGINSCROLL");
NativeMethods.NMLVSCROLL nmlvscroll = (NativeMethods.NMLVSCROLL)m.GetLParam(typeof(NativeMethods.NMLVSCROLL));
if (nmlvscroll.dx != 0) {
int scrollPositionH = NativeMethods.GetScrollPosition(this, true);
ScrollEventArgs args = new ScrollEventArgs(ScrollEventType.EndScroll, scrollPositionH - nmlvscroll.dx, scrollPositionH, ScrollOrientation.HorizontalScroll);
this.OnScroll(args);
// Force any empty list msg to redraw when the list is scrolled horizontally
if (this.GetItemCount() == 0)
this.Invalidate();
}
if (nmlvscroll.dy != 0) {
int scrollPositionV = NativeMethods.GetScrollPosition(this, false);
ScrollEventArgs args = new ScrollEventArgs(ScrollEventType.EndScroll, scrollPositionV - nmlvscroll.dy, scrollPositionV, ScrollOrientation.VerticalScroll);
this.OnScroll(args);
}
return false;
}