From f1a4349ec1420828a02e2fd28b02afb8519c1929 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期四, 09 七月 2020 18:53:15 +0800
Subject: [PATCH] jog操作
---
src/Bro.M071.Process/UI/KeyIndicator.cs | 72 ++++++++++++++++++++++++++++-------
1 files changed, 57 insertions(+), 15 deletions(-)
diff --git a/src/Bro.M071.Process/UI/KeyIndicator.cs b/src/Bro.M071.Process/UI/KeyIndicator.cs
index 3e66348..75271a0 100644
--- a/src/Bro.M071.Process/UI/KeyIndicator.cs
+++ b/src/Bro.M071.Process/UI/KeyIndicator.cs
@@ -30,20 +30,6 @@
[Browsable(false)]
public override bool IsEnabled { get => base.IsEnabled; set => base.IsEnabled = value; }
-
- //[Category("鏄剧ず璁剧疆")]
- //[Description("宸︿笂/寮�濮嬬偣浣�")]
- //[TypeConverter(typeof(ComplexObjectConvert))]
- //[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
- //[Browsable(false)]
- //public CustomizedPoint StartPoint { get; set; } = new CustomizedPoint();
-
- //[Category("鏄剧ず璁剧疆")]
- //[Description("鏄剧ず鍖哄煙澶у皬")]
- //[TypeConverter(typeof(ComplexObjectConvert))]
- //[Editor(typeof(PropertyObjectEditor), typeof(UITypeEditor))]
- //public CustomizedPoint Size { get; set; } = new CustomizedPoint();
-
[Category("鏄剧ず璁剧疆")]
[Description("鏍囩鏄剧ず鍖哄煙")]
[DisplayName("鏍囩鏄剧ず鍖哄煙")]
@@ -68,6 +54,11 @@
{
DisplayRect = this.DisplayRect,
};
+ }
+
+ protected override void SetSelectedPen()
+ {
+ Pen = new Pen(Color.Red, 6);
}
public override void Draw(Graphics g)
@@ -108,7 +99,12 @@
public override bool IsMouseInSide(Point p)
{
- return false;
+ return p.X >= DisplayRect.X && p.X <= DisplayRect.X + DisplayRect.Width && p.Y >= DisplayRect.Y && p.Y <= DisplayRect.Y + DisplayRect.Height;
+ }
+
+ public override bool IsMouseCanMoveElement(Point p)
+ {
+ return IsMouseInSide(p);
}
public override void OnKeyDown(object sender, KeyEventArgs e)
@@ -133,6 +129,52 @@
public override void Translate(int x, int y)
{
+ DisplayRect = new Rectangle(DisplayRect.X + x, DisplayRect.Y + y, DisplayRect.Width, DisplayRect.Height);
+ }
+
+ public override void Relocate(Point point)
+ {
+ DisplayRect = new Rectangle(point.X - DisplayRect.Width / 2, point.Y - DisplayRect.Height / 2, DisplayRect.Width, DisplayRect.Height);
+ }
+
+ public override bool IsMouseCanStretchBottom(Point p)
+ {
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width / 2)) < 10 && Math.Abs(p.Y - DisplayRect.Y - DisplayRect.Height) < 10;
+ }
+
+ public override bool IsMouseCanStretchRight(Point p)
+ {
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < 10 && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height / 2)) < 10;
+ }
+
+ public override bool IsMouseCanStretchRightLowerCorner(Point p)
+ {
+ return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < 10 && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height)) < 10;
+ }
+
+ int x, y = 0;
+ public override void StretchBottom(Point p)
+ {
+ if (p.Y > DisplayRect.Y)
+ {
+ DisplayRect = new Rectangle(DisplayRect.X, DisplayRect.Y, DisplayRect.Width, p.Y - DisplayRect.Y);
+ }
+ }
+
+ public override void StretchRight(Point p)
+ {
+ if (p.X > DisplayRect.X)
+ {
+ DisplayRect = new Rectangle(DisplayRect.X, DisplayRect.Y, p.X - DisplayRect.X, DisplayRect.Height);
+ }
+ }
+
+ public override void StretchRightLowerCorner(Point p)
+ {
+ if (p.X > DisplayRect.X && p.Y > DisplayRect.Y)
+ {
+ DisplayRect = new Rectangle(DisplayRect.X, DisplayRect.Y, p.X - DisplayRect.X, p.Y - DisplayRect.Y);
+ }
}
protected override void DrawResult(Graphics g)
--
Gitblit v1.8.0