要为SceneControl设置鼠标滚轮缩放必须定义委托,因为SceneControl没有Wheel事件,所以委托From的Wheel事件
public Form1()
{
InitializeComponent();
this.MouseWheel += new MouseEventHandler(this.SC1_Wheel); //在这个地方输入"this.MouseWheel+=”后连续按两次Tab键
}
private void SC1_Wheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
try
{
pSC1.MousePointer = esriControlsMousePointer.esriPointerZoom;
System .Drawing .Point pSceneLocation = SC1.PointToScreen(SC1.Location);
System .Drawing .Point Pt = this.PointToScreen(e.Location);
if (Pt.X < pSceneLocation.X | Pt.X > pSceneLocation.X + SC1.Width | Pt.Y < pSceneLocation.Y | Pt.Y > pSceneLocation.Y + SC1.Height)
return;
double scale = 0.2;
if (e.Delta < 0) scale = -0.2;
ICamera pCamera = SC1.Camera;
IPoint pObserver = pCamera.Observer;
IPoint pTarget = pCamera.Target;
pObserver.X += (pObserver.X - pTarget.X) * scale;
pObserver.Y += (pObserver.Y - pTarget.Y) * scale;
pObserver.Z += (pObserver.Z - pTarget.Z) * scale;
pCamera.Observer = pObserver;
pSC1.SceneGraph.RefreshViewers();
this.Text = e.Delta.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
分享到:
相关推荐
1、根据高程点(excel文件)生成TIN。 2、TIN与DOM叠加构建三维场景。 3、根据TIN提取等高线。 4、模型导入
ArcScene+AE+中获得当前的extent.pdf
ArcScene+AE+分段统计栅格数据.pdf
ArcScene+AE+三维闪烁相关的一些代码.pdf
ArcScene+AE+坡度分析.pdf
ArcScene+AE+点击画线.pdf
ArcScene+AE+设置栅格图层基本高程.pdf
ArcScen+AE+显示、渲染(源代码).pdf
ArcScene+AE+读取Raster每个栅格的值.pdf
Scenecontrol中加入shape!!
ArcEngine实现在SceneControl中画线
scenecontrol汽车沿着指定录像行驶
iObject .NET 添加透明控件到scenecontrol上。该资源由超图技术资源中心提供。
该压缩包中包含了AE开发中在scenecontrol中添加点线面的源代码和标注,三维坐标查询,三维功能开发的基本操作代码。
cryengine场景鼠标操控FG代码,下载后,导入图层文件SceneControl.lyr即可,测试环境在Cryengine3.5.2环境
OpenGL与GlobeControl坐标对应.doc
dem高程点获取,c#代码示例及dem数据和access mdb点图层arcgis engine 10.2 + vs2010
NeHe教程改编,移植至C#平台的SharpGL开发,第34课,灰度山脉成像
在arcengine的scenecontrol中使用Opengl
示例在SuperMap Objects.NET 6R中实现在跟踪图层上显示Bubble,获取跟踪层对象的标签信息,以气泡的形式展示出来。