SceneControl+AE+鼠标滚轮缩放
2009-04-05 10:31
423 查看
SceneControl+AE+鼠标滚轮缩放
要为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);
}
}
要为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);
}
}
相关文章推荐
- SceneControl+AE+鼠标滚轮缩放
- AE SceneControl 滚轮实现缩放功能
- 在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放
- js实现鼠标滚轮控制图片缩放效果的方法(转)
- js 鼠标滚轮缩放图片
- jQuery实现的鼠标滚轮控制图片缩放功能实例
- 一个鼠标滚轮控制大小的缩放类。
- 网页背景不随鼠标滚轮滚动缩放
- asp.net用鼠标滚轮实现图片缩放实现方法
- js实现鼠标滚轮控制图片缩放效果的方法
- Raphaël 鼠标拖动,滚轮缩放js代码
- 【前端开发实例】JS CSS - 鼠标滚轮实现图片缩放 -(五)
- [置顶] webstorm ctrl + 鼠标滚轮缩放字体
- WEB页面中如何自动成比例缩放图片,鼠标滚轮缩放
- QT界面,鼠标滚轮实现缩放问题
- 利用鼠标滚轮实现图片缩放
- 鼠标滚轮实现图片的缩放
- 图片旋转,鼠标滚轮缩放,镜像,切换图片js代码
- 鼠标滚轮缩放图纸小工具ZoomIO--通杀Orcad Capture , LayoutPlus , CAM350 , AD , ADPCB , PADS, Foxit Reader
- ZK集成jqueryui 实现图片鼠标滚轮缩放以及拖拽位置