Skyline:SetInputMode函数在绘制多边形过程中的使用

Sgworld.Window.SetInputMode():这个方法设置鼠标输入方式。不同的输入方式允许控制鼠标的不同行为。

void SetInputMode(

       MouseInputMode InputMode,

       [string cursorURL = ""],

       [bool AllowDrag = false])

参数

InputMode

  输入模式如下:

  MI_FREE_FLIGHT                = 0  三维窗口的自由飞行模式

  MI_COM_CLIENT                 = 1  由COM用户选择的自定义输入模式

  MI_CONTROLLED_FLIGHT = 2  摄像机被某种操作控制(例如,飞行模式,圆模式)

  MI_EDIT                                = 3  正处于编辑模式

  MI_MEASUREMENT     = 4  正处于测量模式

cursorURL

  如果输入模式为MI_COM_CLIENT,参数可以指定三维窗口中鼠标图标文件位置的URL

AllowDrag

  该参数表示在屏幕上拖拽的时候三维窗口是否可以移动。

使用过程中只可以选择前两种输入模式,设置为其他时提示"InputMode 必须是 MI_FREE_FLIGHT 或 MI_COM_CLIENT",另外三种模式的使用方法未知,开始绘制时为MI_COM_CLIENT,可设置鼠标URL,结束绘制时为MI_FREE_FLIGHT 。

绑定的事件为OnLButtonClicked、OnFrame、OnRButtonUp,因为拖拽过程中总会发生鼠标按下和弹起的操作,所以左键必须绑定为点击事件,否则AllowDrag设置为true时不生效。

posted @ 2019-06-04 18:03  37wjy  阅读(397)  评论(0编辑  收藏  举报