From e4225da44bf9052e517017c43fc60957d5484cff Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期四, 16 七月 2020 11:57:00 +0800 Subject: [PATCH] 测量结果 界面及查询功能 --- src/Bro.M071.Process/UI/KeyIndicator.cs | 84 ++++++++++++++++++++++++++++++++--------- 1 files changed, 65 insertions(+), 19 deletions(-) diff --git a/src/Bro.M071.Process/UI/KeyIndicator.cs b/src/Bro.M071.Process/UI/KeyIndicator.cs index 3e66348..24967a5 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("鏍囩鏄剧ず鍖哄煙")] @@ -70,9 +56,17 @@ }; } + protected override void SetSelectedPen() + { + Pen = new Pen(Color.Red, 3); + } + public override void Draw(Graphics g) { - g.DrawRectangle(Pen, DisplayRect); + if (ResultState == null) + { + g.DrawRectangle(Pen, DisplayRect); + } RectangleF rectFill = new RectangleF(DisplayRect.X + 1, DisplayRect.Y + 1, DisplayRect.Width - 2, DisplayRect.Height - 2); if (ResultState != null) { @@ -83,11 +77,11 @@ if (!ResultState.Value) { backColor = Color.Red; - foreColor = Color.White; + //foreColor = Color.White; } - g.DrawString(Text, Font, new SolidBrush(foreColor), (float)(DisplayRect.X + DisplayRect.Width / 2.0 - txtSize.Width / 2.0), (float)(DisplayRect.Y + DisplayRect.Height / 2.0 - txtSize.Height / 2.0)); - g.FillRectangle(new SolidBrush(Color.FromArgb(55, backColor)), rectFill); + g.FillRectangle(new SolidBrush(Color.FromArgb(85, backColor)), rectFill); + g.DrawString(Text, Font, new SolidBrush(foreColor), (float)(DisplayRect.X + DisplayRect.Width / 2.0 - txtSize.Width / 2.0), (float)(DisplayRect.Y + DisplayRect.Height)); } } @@ -108,7 +102,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 +132,53 @@ 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)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - DisplayRect.Y - DisplayRect.Height) < (DisplayRect.Height / 3); + } + + public override bool IsMouseCanStretchRight(Point p) + { + return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height / 2)) < (DisplayRect.Height / 3); + } + + public override bool IsMouseCanStretchRightLowerCorner(Point p) + { + return Math.Abs(p.X - (DisplayRect.X + DisplayRect.Width)) < (DisplayRect.Width / 3) && Math.Abs(p.Y - (DisplayRect.Y + DisplayRect.Height)) < (DisplayRect.Height / 3); + } + + 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