protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); var hit = HitTest(e.Location); if (hit.Item != null) { var item = (hit.Item.Tag as CloudTaskItem); if (item != null) { Cursor cursor = null; if (item.IsLocked) { cursor = UIExtension.AppCursor(UIExtension.AppCursorType.LockedTask); } else if (CalcIconRect(hit.Item.Bounds).Contains(e.Location)) { cursor = UIExtension.HandCursor(); } if (cursor != null) { Cursor = cursor; return; } } } // all else Cursor = Cursors.Arrow; }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); var node = HitTestPositions(e.Location); if (!ReadOnly && (node != null) && !HitTestExpansionButton(node, e.Location)) { var taskItem = RealTaskItem(node); if (taskItem != null) { Cursor cursor = null; if (taskItem.IsLocked) { cursor = UIExtension.AppCursor(UIExtension.AppCursorType.LockedTask); } else if (TaskHasIcon(taskItem) && HitTestIcon(node, e.Location)) { cursor = UIExtension.HandCursor(); } if (cursor != null) { Cursor = cursor; return; } } } // all else Cursor = Cursors.Arrow; }
protected override void OnMouseMove(MouseEventArgs e) { var selTool = ActiveTool as Calendar.SelectionTool; if (selTool == null) { selTool = new Calendar.SelectionTool(); } if (selTool.IsResizing()) { if (ReadOnly) { return; } } else // Extra-over cursor handling { Calendar.Appointment appointment = GetAppointmentAt(e.Location.X, e.Location.Y); Cursor = Cursors.Default; if (!ReadOnly && (appointment != null)) { selTool.DayView = this; selTool.UpdateCursor(e, appointment); var taskItem = (appointment as CalendarItem); if (taskItem != null) { Cursor temp = null; if (taskItem.IsLocked) { temp = UIExtension.AppCursor(UIExtension.AppCursorType.LockedTask); } else if (taskItem.IconRect.Contains(e.Location)) { temp = UIExtension.HandCursor(); } if (temp != null) { Cursor = temp; } } } } base.OnMouseMove(e); }
private Cursor GetCursor(MouseEventArgs e) { if (IsResizingAppointment()) { return(Cursor); } // Note: base class only shows 'resize' cursors for the currently // selected item but we want them for all tasks var taskItem = (GetAppointmentAt(e.Location.X, e.Location.Y) as CalendarItem); if ((taskItem != null) && !ReadOnly) { if (taskItem.Locked) { return(UIExtension.AppCursor(UIExtension.AppCursorType.LockedTask)); } if (taskItem.IconRect.Contains(e.Location)) { return(UIExtension.HandCursor()); } var mode = GetMode(taskItem, e.Location); if (!CanResizeTask(taskItem, mode)) { return(UIExtension.AppCursor(UIExtension.AppCursorType.NoDrag)); } // Same as Calendar.SelectionTool switch (mode) { case Calendar.SelectionTool.Mode.ResizeBottom: case Calendar.SelectionTool.Mode.ResizeTop: return(Cursors.SizeNS); case Calendar.SelectionTool.Mode.ResizeLeft: case Calendar.SelectionTool.Mode.ResizeRight: return(Cursors.SizeWE); case Calendar.SelectionTool.Mode.Move: // default cursor below break; } } // All else return(Cursors.Default); }
protected override void WndProc(ref Message m) { if (m.Msg == WM_SETCURSOR) { // Set the cursor to use the system hand cursor SetCursor(UIExtension.HandCursor().Handle); // Indicate that the message has been handled m.Result = IntPtr.Zero; return; } base.WndProc(ref m); }