public override void OnMouseWheel(PortableMouseEventArgs e) { if (Control.ModifierKeys.HasFlag(Keys.Shift)) { if (e.Delta == 0) { return; } var spreadsheet = provider as SpreadsheetControl ?? throw new ArgumentException("MouseWheel provider is not Spreadsheet", nameof(provider)); var cellsToMove = e.Delta / 100; if (cellsToMove == 0) { cellsToMove = Math.Abs(e.Delta); //Scroll to at least 1 column } if (spreadsheet.ActiveWorksheet == spreadsheet.VisibleRange.Worksheet) { spreadsheet.ActiveWorksheet.ScrollToColumn(Math.Max(spreadsheet.VisibleRange.LeftColumnIndex - cellsToMove, 0)); } return; } base.OnMouseWheel(e); }
public override void OnMouseWheel(PortableMouseEventArgs e) { DayView curView = ((SchedulerControl)provider).DayView; int nSlots = curView.TimeSlots.Count; if (this.myzoomEnabled) { if (e.Delta < 0) { for (int i = 0; i < nSlots; i++) { if (curView.TimeSlots[i].Value <= curView.TimeScale) { curView.TimeScale = curView.TimeSlots[i].Value; break; } } } else { for (int i = nSlots - 1; i >= 0; i--) { if (curView.TimeSlots[i].Value >= curView.TimeScale) { curView.TimeScale = curView.TimeSlots[i].Value; break; } } } } else { base.OnMouseWheel(e); } }
public override void OnMouseDown(PortableMouseEventArgs e) { downHitInfo = null; downHitPoint = Point.Empty; SchedulerHitInfo hitInfo = (provider as SchedulerControl).ActiveView.ViewInfo.CalcHitInfo(e.Location, false); if (hitInfo.HitTest == SchedulerHitTest.ResourceHeader) { downHitInfo = hitInfo; downHitPoint = e.Location; } else { base.OnMouseDown(e); } }
public override void OnMouseMove(PortableMouseEventArgs e) { if (e.Button == PortableMouseButtons.Left && downHitInfo != null) { Size dragSize = SystemInformation.DragSize; Rectangle dragRect = new Rectangle(new Point(downHitPoint.X - dragSize.Width / 2, downHitPoint.Y - dragSize.Height / 2), dragSize); if (!dragRect.Contains(new Point(e.X, e.Y))) { (provider as SchedulerControl).DoDragDrop(downHitInfo.ViewInfo.Resource, DragDropEffects.All); downHitInfo = null; downHitPoint = Point.Empty; } } else { base.OnMouseMove(e); } }
public override void OnMouseWheel(PortableMouseEventArgs e) { SchedulerMouseHandler handler = ((MouseHandlerService)this.Service).Handler as SchedulerMouseHandler; if (handler.IsControlPressed) { if (provider is SchedulerControl) { SchedulerControl control = (SchedulerControl)provider; if (e.Delta > 0) { ZoomIn(control); } else { ZoomOut(control); } } } else { base.OnMouseWheel(e); } }