⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 geselecter.cs

📁 苏金明编写的《用VB.NET和VC#.NET开发交互式CAD系统》一书的源代码
💻 CS
字号:
using System;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace template
{
	/// <summary>
	/// GESelecter 的摘要说明。
	/// </summary>
	public abstract class GESelecter
	{
		public GESelecter()
		{
		}

		public enum geDrawMode
		{
			Normal,Selected,Delete
		}

		//绘制图元
		public abstract void Draw(Graphics g, geDrawMode drawMode);

		//拾取图元
		public abstract bool Pick(PointF aPos);

		//选择图元
		public void Selected(Graphics g, PointF aPos)
		{
			if (this.Pick(aPos))
			{
				this.Draw(g, geDrawMode.Delete);
				this.Draw(g, geDrawMode.Selected);
			}
		}

		//设置画笔
		public Pen DrawSettings(geDrawMode aDrawMode)
		{
			Pen pen=new Pen(Color.Black);
			switch (aDrawMode)
			{
				case GESelecter.geDrawMode.Normal:
					pen.Color = Color.Black;
					break;
				case GESelecter.geDrawMode.Selected:
					pen.Color = Color.Red;
					pen.DashStyle = DashStyle.Dash;
					break;
				case GESelecter.geDrawMode.Delete:
					pen.Color = Color.White;
					break;
			}
			return pen;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -