Arcengine 自定义工具鼠标样式设置

Arcengine 自定义工具鼠标样式设置


arcengine开发过程中,有时会需要自定义工具,尤其是在开发要素编辑模块的时候,那么如何修改鼠标样式呢?
自定义工具需要继承 ESRI.ArcGIS.ADF.BaseClasses.BaseTool,刚开始以为直接设置

public override int Cursor => 2;

2对应esriControlsMousePointer里面的值,然而并没有生效,接着观察发现哪怕是ae自带的工具,cursor每次的值也是不同的,好吧忙了个寂寞……
接着尝试设置m_cursor属性,这一次倒是成功设置鼠标样式,并且发现了两种方法(撒花✿✿ヽ(°▽°)ノ✿),以下进行详细介绍

1.系统自带样式

this.m_cursor = System.Windows.Forms.Cursors.Cross;

以下是系统自带鼠标样式Cursors类的详细介绍:

//
// 摘要:
//     提供由 Windows 窗体应用程序使用的 System.Windows.Forms.Cursor 对象的集合。
public sealed class Cursors
{
   //
   // 摘要:
   //     获取在应用程序启动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示应用程序启动时显示的光标。
   public static Cursor AppStarting { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平、垂直向下和向左滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平、垂直向下和向左滚动时显示的光标。
   public static Cursor PanSW { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口垂直向下滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口垂直向下滚动时显示的光标。
   public static Cursor PanSouth { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平、垂直向下和向右滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平、垂直向下和向右滚动时显示的光标。
   public static Cursor PanSE { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平、垂直向上和向左滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平、垂直向上和向左滚动时显示的光标。
   public static Cursor PanNW { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口垂直向上滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口垂直向上滚动时显示的光标。
   public static Cursor PanNorth { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平、垂直向上和向右滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平、垂直向上和向右滚动时显示的光标。
   public static Cursor PanNE { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平向右滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平向右滚动时显示的光标。
   public static Cursor PanEast { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标不动但是该窗口可以在垂直方向上滚动时显示的光标。
   //
   // 返回结果:
   //     System.Windows.Forms.Cursor 表示滚轮操作过程中鼠标不动时显示的光标。
   public static Cursor NoMoveVert { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标不动但是该窗口可以在水平方向上滚动时显示的光标。
   //
   // 返回结果:
   //     System.Windows.Forms.Cursor 表示滚轮操作过程中鼠标不动时显示的光标。
   public static Cursor NoMoveHoriz { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标不动但是该窗口可以同时在水平和垂直方向上滚动时显示的光标。
   //
   // 返回结果:
   //     System.Windows.Forms.Cursor 表示滚轮操作过程中鼠标不动时显示的光标。
   public static Cursor NoMove2D { get; }
   //
   // 摘要:
   //     获取当鼠标定位在垂直拆分条上时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示当鼠标定位在垂直拆分条上时显示的光标。
   public static Cursor VSplit { get; }
   //
   // 摘要:
   //     获取当鼠标定位在水平拆分条上时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示当鼠标定位在水平拆分条上时显示的光标。
   public static Cursor HSplit { get; }
   //
   // 摘要:
   //     获取“帮助”光标,它是箭头和问号的组合。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示“帮助”光标。
   public static Cursor Help { get; }
   //
   // 摘要:
   //     获取等待光标,通常是沙漏形状。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示等待光标。
   public static Cursor WaitCursor { get; }
   //
   // 摘要:
   //     获取上箭头光标,该光标通常用来标识插入点。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示向上箭头光标。
   public static Cursor UpArrow { get; }
   //
   // 摘要:
   //     获取双向水平(西/东)大小调整光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示双向水平(西/东)大小调整光标。
   public static Cursor SizeWE { get; }
   //
   // 摘要:
   //     获取双向对角线(西北/东南)大小调整光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示双向对角线(西北/东南)大小调整光标。
   public static Cursor SizeNWSE { get; }
   //
   // 摘要:
   //     获取双向垂直(北/南)大小调整光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示双向垂直(北/南)大小调整光标。
   public static Cursor SizeNS { get; }
   //
   // 摘要:
   //     获取双向对角线(东北/西南)大小调整光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示双向对角线(东北/西南)大小调整光标。
   public static Cursor SizeNESW { get; }
   //
   // 摘要:
   //     获取四向大小调整光标,该光标由相联接的、分别指向东南西北的四个箭头组成。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示四向大小调整光标。
   public static Cursor SizeAll { get; }
   //
   // 摘要:
   //     获取指示某个特定区域对当前操作无效的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示指示某个特定区域对当前操作无效的光标。
   public static Cursor No { get; }
   //
   // 摘要:
   //     获取 I 型光标,该光标用于显示单击鼠标时文本光标出现的位置。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示 I 形光标。
   public static Cursor IBeam { get; }
   //
   // 摘要:
   //     获取默认光标,它通常为箭头光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示默认光标。
   public static Cursor Default { get; }
   //
   // 摘要:
   //     获取十字线光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示十字线光标。
   public static Cursor Cross { get; }
   //
   // 摘要:
   //     获取箭头光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示箭头光标。
   public static Cursor Arrow { get; }
   //
   // 摘要:
   //     获取滚轮操作过程中鼠标移动并且该窗口水平向左滚动时显示的光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示滚轮操作过程中鼠标移动并且该窗口水平向左滚动时显示的光标。
   public static Cursor PanWest { get; }
   //
   // 摘要:
   //     获取手形光标,当悬停在 Web 链接上时通常使用该光标。
   //
   // 返回结果:
   //     一个 System.Windows.Forms.Cursor,它表示手形光标。
   public static Cursor Hand { get; }
}

2. 自定义鼠标样式

this.m_cursor = new System.Windows.Forms.Cursor(@"E:\\十字光标.cur");

至于光标文件,可以将你想要的鼠标样式图片通过cur在线转换器转换为cur文件,
安利一个不错的在线转换器:CUR转换器 — Convertio
当然,这种方式需要注意图片的大小,图片上的光标是多大的,在屏幕上也是多大

温馨提示

设置了public override int Cursor => 2;以上设置将会失效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ArcScene是ArcGIS中的一款三维可视化工具,可以用来创建和编辑三维地理数据。在ArcScene中,可以自定义符号样式来使地图更加生动和美观。 首先,在ArcScene中打开要制作符号样式的图层。选择要修改的图层,右键点击图层,选择“属性”。 然后,在“属性”对话框中选择“符号”选项卡。在这里,可以选择已有的符号样式,也可以自定义新的符号样式自定义符号样式的方法有很多,以下是其中一种常用的方法: 1. 选择“选择符号”按钮,可以打开符号选择对话框,选择需要的符号样式进行修改。 2. 在符号选择对话框中,可以修改符号的填充颜色、边界线颜色和宽度、符号的大小和形状等。 3. 通过“符号修改器”按钮可以进一步修改符号的属性。在符号修改器中,可以调整符号的透明度、阴影、亮度和对比度等。 4. 如果需要更多自定义选项,可以使用“更多符号”按钮。在更多符号对话框中,可以选择更多的符号类型和样式,并进行修改。 5. 修改完成后,可以点击“确定”按钮进行确认,即可将自定义符号样式应用到图层中。 除了上述方法,还可以使用ArcScene中的符号编辑工具来绘制和编辑符号样式,以及使用ArcGIS符号库中的符号进行自定义。 通过自定义符号样式,可以使ArcScene中的地图更具个性特点,使其更加符合用户需求和展示要求。同时,自定义符号样式也可以提高地图的可视化效果,使其更加美观并容易被理解和识别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShirmyMao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值