public static Rectangle GetResizedRect(Rectangle sourceRect, VResizeDirection direction, Point startPoint, Point curPoint) { Rectangle functionReturnValue = default(Rectangle); dynamic deltaX = curPoint.X - sourceRect.X; dynamic deltaY = curPoint.Y - sourceRect.Y; functionReturnValue = sourceRect; //Dim resizes = "" if (direction == VResizeDirection.TopLeft | direction == VResizeDirection.TopRight) { //resizes += "TOP " 'top resize functionReturnValue.Y += deltaY; functionReturnValue.Height -= deltaY; } if (direction == VResizeDirection.TopLeft | direction == VResizeDirection.BottomLeft) { //resizes += "LEFT " 'left resize functionReturnValue.X += deltaX; functionReturnValue.Width -= deltaX; } if (direction == VResizeDirection.BottomLeft | direction == VResizeDirection.BottomRight) { //resizes += "BTM " 'bottom resize functionReturnValue.Height = deltaY; } if (direction == VResizeDirection.TopRight | direction == VResizeDirection.BottomRight) { //resizes += "RGT " 'right resize functionReturnValue.Width = deltaX; } return functionReturnValue; //Debug.Print(resizes) }
private void box_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (isEditMode) acceptEditMode(); if (IsMultitouchMode) return; mouseDownPnt = e.Location; isMoveMode = false; resizeDirection = VResizeDirection.None; rubberBandActive = false; //rubberBandRect = null; if (IsInsertionMode | _isObjectBorderSelectionMode) return; var selObj = GetFirstSelectedObject(); if (selObj != null) { var resize = selObj.HitTestResizer(e.Location); resizeDirection = resize; ///' frm_mdiViewer2.Text = resizeDirection.ToString } if (resizeDirection == VResizeDirection.None) { //wenn nicht resize, dann vielleicht verschieben??? var clickObj = GetObjectAt(e.Location); //AndAlso clickObj.isSelected if (clickObj != null) { if (isKeyPressed(Keys.ControlKey)) { clickObj.isSelected = !clickObj.isSelected; OnSelectionChanged(); } else { if (!clickObj.isSelected) SelectObject(clickObj); isMoveMode = true; } } } }